出处
代码
- 示例
var x = 1;
var arr = [];
var y = arr.length <= 0 || arr[0] === undefined ? x : arr[0];
根据语言规格,这五个运算符的优先级从高到低依次为:小于等于(
<=
)、严格相等(===
)、或(||
)、三元(?:
)、等号(=
)。因此上面的表达式,实际的运算顺序如下。
var y = ((arr.length <= 0) || (arr[0] === undefined)) ? x : arr[0];
记住所有运算符的优先级,是非常难的,也是没有必要的。