问题描述
|
看来这仅适用于“偶数”数字:
\"8\"|0 + 1 // 9
\"3\"|0 + 1 // 3
(\"3\"|0) + 1 // 4
但是\"3\"|0
转换为整数3
。
那么这是怎么回事?第二个示例为什么在JS中表现得如此?
解决方法
+的优先级高于|。
所以它是这样解析的:
\"8\" | (0 + 1) = \"8\" | 1 = 9
\"3\" | (0 + 1) = \"3\" | 1 = 3
, +
的优先级高于|
,因此需要插入方括号以获取所需的评估顺序。