我正在查看这些代码行here:
if (callback)
callback(sig || graph);
我从未在 javascript 方法调用中看到垂直的“或”条。他们的意思是什么?他们是否传递“true”参数(即 sig 或 graph)?他们是否传递了定义的参数?我以前从未见过这种语法。
这是 JS(以及大多数其他语言)中的逻辑 OR 运算符。这是11.11 规范中定义。正如规范中所述,两边的表达式将首先被求值,逻辑 OR 为从左到右关联。请注意,操作数的评估遵循标准ToBoolean 语义来自 9.2 节, so [null, undefined, 0, '']
都算作虚假。
与大多数语言不同,如果 JS 为真,则返回左操作数,否则返回右操作数。这种行为之前已经介绍过在许多 SO 问题中,但值得注意的是,因为大多数语言只是返回 true 或 false。这种行为经常被用来提供默认值否则未定义的变量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)