揭开 || 的隐藏用法非布尔上下文中的运算符
在用于画布绘制的 JavaScript 库中,出现了逻辑 OR (||) 运算符的特殊用法。类似于 var $time = Date.now || 的表达式函数(){返回新日期; };引发了一个问题:这是熟悉的 || 的变体吗?运算符,还是其他东西在起作用?
为了解开这个谜团,我们深入研究了 Crockford 的 JavaScript 编程语言调查。在那里,我们发现 ||运算符拥有一个隐藏的别名:默认运算符。它不会计算为布尔值,而是根据特定条件返回左侧或右侧操作数。
当第一个操作数计算为 false、null、未定义、空字符串或 0(默认值)时运算符介入并返回第二个操作数。这种独特的行为被证明是一个方便的空值检查和设置默认值的工具。
例如,在 $time 表达式中,如果 Date.now 不存在或返回一个假值,则后备执行函数以确保时间函数的存在。类似地,值= v || 10 如果 v 不为假,则赋值 v 的值;否则,它使用默认值 10。
理解 || 的这个替代角色运算符阐明了其在非布尔上下文中的用法。它是一个占位符,一个默认设置器,可保证必要时后备值或功能的可用性。
以上是|| 什么时候JavaScript 中用于默认设置的运算符?的详细内容。更多信息请关注PHP中文网其他相关文章!