正确使用未定义

时间:2019-04-25 14:04:39

标签: javascript

假设我有一个someArray,它在运行时将具有0或1个元素。

这是对undefined的有效使用吗?

var validItem = someArray[0];
if (validItem !== undefined) {
    validItem.doSomething();
}

2 个答案:

答案 0 :(得分:1)

如果元素没有元素并且您引用someArray [0],则将引发异常。 它会抛出一个错误 你应该这样检查

    if(someArray.length){
  someArray[0].doSomething();
}

答案 1 :(得分:1)

如果您要确保不尝试在undefined上调用函数,这就是我要做的:

var validItem = someArray[0];
if ('doSomething' in validItem && typeof validItem.doSomething === 'function') {
    validItem.doSomething();
}