undefined判断
直接props === undefined
或者typeof props === 'undefined'
不行吗?
这样很可能会导致一些问题,看如下的示例
function test() {
var undefined = 10;
console.log(undefined);
}
test(); //10
结果输出了10
,可见undefined
被重写了。在ES5之前,window
下的undefined
是可以被重写的,这会导致不少问题,在ES5之后,全局下的undefined
虽然不能被重写,局部变量中的undefined
依然可以被重写(非严格模式),如上例,所以保险的判断方式如下。
function isUndefined(input) {
return input === void 0;
}
void
运算符通常仅用于获取未定义的原始值,通常使用void(0)
,等效于void 0
,参见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void
如果您觉得本文对您有用,欢迎捐赠或留言~
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=1038