checking a variable value using an OR operator

后端 未结 3 1583
野的像风
野的像风 2021-01-11 10:55

So, a junior programmer on my team today wrote the following piece of code:

if(status === (\"incomplete\" || \"unknown\"))

Which is obvious

3条回答
  •  粉色の甜心
    2021-01-11 11:47

    In JavaScript, the || operator returns its first operand if it evaluates to true (i.e. it is not false, null, undefined, "", or 0), and its second operand otherwise.

    In the first case, ("incomplete" || "unknown") always evaluates to "incomplete", since it evaluates to true.

    The entire condition then becomes:

    if (status === "incomplete")
    

    Which explains the behaviour you are observing.

提交回复
热议问题