请问这是什么意思:如果(a && b == c){};?



请给出什么意思:

if (a && b == c){};

我不了解条件语句的逻辑

&&的优先级低于 ==,因此等效于:

if (a && (b == c))

这意味着如果a具有真实的值,并且b的值等于c的值。

条件(a && b == c)有两个操作员。逻辑和操作员以及平等运算符。

操作foo && bar返回true,如果操作数foobar都有真实的值。

foo == bar返回true,如果foo等于bar

平等操作员如果不具有相同类型的操作数,则使用严格的比较。如果两个操作数是对象,则JavaScript比较操作数时与内存中相同对象相同的内部引用。

如果表达式包含多个操作员,则操作员优先级至关重要。

操作员的优先级决定了彼此解析操作员的方式。优先级的运营商成为较低优先级的运营商的操作数。

==操作员的预定率高于&&操作员。因此,上述条件将首先检查b == c。如果结果是true,而a的值是真实的,则条件的结果将为true

分组操作员( )具有最高的优先级,因此可以用来强制特定的操作顺序。

如果您不确定要处理哪些订单操作,请使用分组操作员!

的结果
(a && (b == c)) 

将与

的结果相同
(a && b == c)

,但更好可读。当然,您应该学习并了解操作员的优先级。但是,如果有疑问,尤其是在带有许多操作员的一条真正毛茸茸的线路上,那么一些括号增加可读性的价值可能会优于一些其他代码的成本。

相关内容

  • 没有找到相关文章

最新更新