<分区>
我一直在阅读我公司项目的 javascript 源代码并遇到了这个
if (options.parse === void 0) options.parse = true;
不确定 0
在这里做什么?
标签 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 - 将 Array Php 转换为 JSON 时出错
javascript - 如何使用查询结果 - Javascript(Azure 数据库)