DEV Community

D\sTro
D\sTro

Posted on • Updated on

YoDa Expression!

Does anyone have one liner explanation about

(10 == varX)

VS

(varX == 10)

Top comments (9)

Collapse
 
dansilcox profile image
Dan Silcox • Edited

I think the idea is that you might put = instead of == by accident. Very difficult to debug, this would be.

That said, in languages like JS and PHP that have the concept of ===, the Yoda syntax becomes a bit irrelevant. I guess the key is consistency. So my advice would be, in the words of the great Jedi Master himself:

Do or do not, there is no try

Collapse
 
slimdestro profile image
D\sTro

You got it 👌

Collapse
 
dansilcox profile image
Dan Silcox

Ha sorry not a one liner :D

Collapse
 
andre profile image
André König

Usually, they are used to avoid accidental variable assignments (varX = 10).

Collapse
 
slimdestro profile image
D\sTro

Exactly

Collapse
 
tharindadilshan profile image
Tharinda Dilshan Piyadasa

Aren't they both the same?

Collapse
 
kais_blog profile image
Kai

More or less. Usually the constant portion of a conditional statement is placed on the right side. Yoda conditions reverse this typical order. This should avoid certain errors. Yet, their use is controversial.

Collapse
 
slimdestro profile image
D\sTro

Same ofcourse but they are in place to avoid those million dollar bug NASA scientists creates years ago

Collapse
 
dansilcox profile image
Dan Silcox

Wow really, didn't know about that million dollar bug! Maybe I will convert to start using them :D :D