DEV Community

loading...

YoDa Expression!

itsmukulmishra profile image Mukul Mishra Updated on ・1 min read

Does anyone have one liner explanation about

(10 == varX)

VS

(varX == 10)

Discussion (9)

pic
Editor guide
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
itsmukulmishra profile image
Mukul Mishra Author

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
itsmukulmishra profile image
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
itsmukulmishra profile image
Mukul Mishra Author

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