Javascript JS算子与逻辑比较
我知道这个问题已经被问过无数次了。但我找不到一个能直接回答我问题的答案。类似的问题 所以这句话Javascript JS算子与逻辑比较,javascript,operators,Javascript,Operators,我知道这个问题已经被问过无数次了。但我找不到一个能直接回答我问题的答案。类似的问题 所以这句话 1 == !"" 根据MDN运营商的先例: 逻辑上没有比平等更高的先例 它还提到,赋值运算符是右结合的。因此,其他一切都必须保持关联性 所以,请听这句话。我原以为它会像 !"" (coerce to a bool value, flip the value) 1 == true (compare the value) 但基于进一步的阅读和联想性的提到。它应该从左到右运行。对吗?结果是一样的,但它检
1 == !""
根据MDN运营商的先例:
逻辑上没有比平等更高的先例
它还提到,赋值运算符是右结合的。因此,其他一切都必须保持关联性
所以,请听这句话。我原以为它会像
!"" (coerce to a bool value, flip the value)
1 == true (compare the value)
但基于进一步的阅读和联想性的提到。它应该从左到右运行。对吗?结果是一样的,但它检查
1 ==
... then does the type coerce stuff
我的想法对吗?只是想确定一下。
1==!“
->1==true
->1==1
(ECMA 2015:->)比较器的操作数必须先解析为值,然后才能执行比较。只有在具有相同优先级的两个运算符时,关联性才起作用,如ad
或a+b-c
。在您的示例中,代码>的优先级高于=
,因此首先计算。通常,当您对表达式的解析方式有疑问时,请将其粘贴到中,以查看到底发生了什么。