javascript - 如何理解下划线源码中的 "return obj === void 0"?

标签 javascript underscore.js

<分区>

Possible Duplicate:
What does “javascript:void(0)” mean?
What does void 0 mean?

在文件中http://underscorejs.org/underscore.js ,可以看到这样的代码块:

// Is a given variable undefined?
_.isUndefined = function(obj) {
  return obj === void 0;
};

我不明白void 0部分,很奇怪。怎么理解?

最佳答案

这是控制台输出

>typeof void 0
"undefined"
>void 0 === undefined
true
>"undefined".length
9
>"void 0".length
6

我认为他们试图节省 3 个字节的文件大小;)

编辑:SO answer 使用 void 0 更有意义,因为 undefined 只是 window 对象的一个​​属性并且是可变的。因此 void 0 是跨浏览器生成 undefined 的可信方式

关于javascript - 如何理解下划线源码中的 "return obj === void 0"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11409412/

相关文章:

javascript - Bootstrap 4 - 模态。在 Edge 中工作,而不是在 Chrome 或 Firefox 中工作

javascript - 更改背景组件 - REACTJS

javascript - 按键数组过滤对象

javascript - 如何在具有冲突库的网站上正确包含 lodash/下划线?

javascript - 通过单击图像显示弹出窗口(对于多图像)

用于 C 输出的 Javascript 代码生成器?

javascript - 如何在没有 ESLint no-unused-var 错误的情况下公开全局 javascript 函数?

javascript - Underscore 的多参数模板方法

angularjs - 安装下划线类型时出错

ruby-on-rails - 在haml下划线模板中插入javascript时出现奇怪的错误