var foo = { bar: ''};
我经常看到这样的代码:
if(foo.bar.isEmpty()){ //this line most of the time breaks
// do something
}
foo.bar.isEmpty() or foo.bar.isEmpty
据我所知,这不是本机JavaScript / jQuery。即使Lodash和Underscore被包含在项目中,这似乎也不起作用。
在Lodash和Underscore中有isEmpty()
的实现
但使用它们的唯一方法是_.isEmpty(foo.bar)
为什么我不能将它们用作foo.bar.isEmpty()?
检查空数组,对象或字符串的正确方法是什么?
答案 0 :(得分:2)
只要foo.bar
(或foo
)undefined
并且您链接了另一个函数,例如isEmpty()
之后,您的脚本就会中断,因为{{1}没有方法undefined
。
要安全地检查对象属性的值是否在普通js中保存空字符串,您需要使用
isEmpty()