Lodash提供了两种很酷的方法isUndefined
和isNull
。假设您有一个数字变量,需要检查该变量是否已设置才能使用。您可以这样:
someNumber:number;
......
if (_.isUndefined(someNumber) || _.isNull(someNumber)) {
console.log('not set');
}
这行得通,但是我想知道的是,第一个示例中的处理方式是否有差异,并且是否像这样完成
if (!someNumber) {
console.log('not set');
}
答案 0 :(得分:1)
是的。在您的情况下,如果someNumber
为0
,则条件失败。但是如果值为0,则isUndefined
和isNull
将通过
答案 1 :(得分:1)
0
和NaN
通过了第一个测试,但未通过第二个测试。
并且,不重要的是,对于“未设置”情况,应为if (!someNumber)
有趣的事实:typeof NaN
仍然是数字。