DEV Community

D\sTro
D\sTro

Posted on • Edited 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