Javascript:if 语法中的附加零是什么?

标签 javascript

<分区>

我一直在阅读我公司项目的 javascript 源代码并遇到了这个

if (options.parse === void 0) options.parse = true;

不确定 0 在这里做什么?

最佳答案

void operator非常有趣:它接受一个操作数,对其求值,然后表达式的结果为 undefined。所以 0 不是多余的,因为 void 运算符需要一个操作数。

人们有时使用 void 0 来避免 undefined 符号 可以 被覆盖的事实(如果你没有使用严格模式) .例如:

undefined = 42;

另外,一个窗口中的undefined不是另一个窗口中的=== undefined

因此,如果您正在编写一个库并且想要有点偏执,无论是关于人们重新定义 undefined 还是您的代码可能会在多窗口情况下使用(框架等),您可能不会使用符号 undefined 来检查某些内容是否为 undefined通常 的答案是使用 typeof whatever === "undefined",但是 === void 0 有效(好吧,它可能不在多窗口情况下工作,具体取决于您将其与什么进行比较)并且更短。 :-)

关于Javascript:if 语法中的附加零是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16221351/

相关文章:

javascript - 需要循环遍历mysql查询结果序列

javascript - 在 angular-strap popover 中将内容作为对象传递

javascript - Firebase 实时数据库显示用户名 - 网页

javascript - 这个 JavaScript 符号有什么作用 : Object[key](value)

javascript - 设置超时返回

javascript - Babel 可选链

javascript - 将 Array Php 转换为 JSON 时出错

javascript - 如何使用查询结果 - Javascript(Azure 数据库)

javascript - Promises 和通用的 .catch() 语句

Javascript - pdf 页面上的标记位置不正确