在文件http://underscorejs.org/underscore.js中,可以看到这样一个代码块:
// Is a given variable undefined?
_.isUndefined = function(obj) {
return obj === void 0;
};
我不明白这void 0
部分,这很奇怪。怎么理解?
在文件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答案更有意义 using void 0
,因为undefined
它只是window
对象的一个属性并且是可变的。因此void 0
是跨浏览器生成未定义的可信方式
在 javascript(从 1.1 开始)中,void
运算符用于计算表达式并返回undefined
。
void 0
正确和标准的生产方式也是如此undefined
。
因为它是一个运算符,所以不需要括号。