我该如何在JavaScript中使用下划线检查 "undefined"?

4
if(typeof hello! = 'undefined'){

}

这太难打了,我想使用下划线


6
你有没有花两秒钟去这里搜索?哎呀。 - epascarello
1
即使没有下划线,hello === undefined 应该能够正常运作.. 但是在许多情况下,我发现 - 并设计代码以使其成立 - 简单的“false-y”条件正确: if (!hello) .. 这里使用 typeof 的唯一原因是 1)全局变量可能不存在(呃,为避免 ReferenceErrors 更喜欢 window.prop!)或 2)对“未定义”被“重新定义”过度谨慎。 - user166390
2个回答

26
根据官方文档,您可以使用_.isUndefined()
_.isUndefined(window.missingVariable);
=> true

1
似乎这仅适用于对象属性,而不适用于本地变量:_.isUndefined(hello) => Uncaught ReferenceError: hello is not defined(…)(在Chrome 52中测试) - nickel715
3
本地变量可以在第一次声明后进行检查:var a; _.isUndefined(a); 尝试访问未声明的变量将始终引发ReferenceError,除非通过 typeof a ==="undefined" 进行检查。然而,这个问题是关于如何通过Underscore.js检查未定义的。 - Platinum Azure

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接