undefined判断

该文章由 leevare 发布于 ,归类于 Javascript

直接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

如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!

相关文章:

说点什么

avatar
300
  Subscribe  
提醒