如何分析精简的JavaScript表达式?

时间:2017-05-31 13:39:12

标签: javascript

表达式e = 0 === f ? e : e + a,是什么意思?

如果它只是

0 === f ? e : e + a, 

我知道。这意味着,

如果f等于零(和相同类型),则返回e,否则返回e + a

但我没有得到第一部分e = 0 === f

另一个表达方式是:e + a > c && (d = 0 === f ? d : d + b + this.spacing, e = 0 );

这里的第一部分我根本不知道:e + a > c && (...

我现在正在分析的代码中充满了这样的浓缩表达式。什么是了解这些的好消息来源?

2 个答案:

答案 0 :(得分:2)

那只是一项任务。它将三元组的结果分配给e

第二个看起来像某种边界逻辑。查找运算符优先级,在等式中添加明确的括号,并将其分解为多个部分。

答案 1 :(得分:2)

第二个是一个条件和两个赋值,用括号括起来,用逗号运算符作为分隔符,而不是运算符,因为省略了结果。

if (e + a > c) {
    d = 0 === f ? d : d + b + this.spacing;
    e = 0;
}