表达式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 && (...
我现在正在分析的代码中充满了这样的浓缩表达式。什么是了解这些的好消息来源?
答案 0 :(得分:2)
那只是一项任务。它将三元组的结果分配给e
。
第二个看起来像某种边界逻辑。查找运算符优先级,在等式中添加明确的括号,并将其分解为多个部分。
答案 1 :(得分:2)
第二个是一个条件和两个赋值,用括号括起来,用逗号运算符作为分隔符,而不是运算符,因为省略了结果。
if (e + a > c) {
d = 0 === f ? d : d + b + this.spacing;
e = 0;
}