Object.isEmpty vs .isEmpty()vs _.isEmpty(Object)javascript,lodash,underscore

时间:2016-10-03 18:40:57

标签: javascript underscore.js lodash

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()?

检查空数组,对象或字符串的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

只要foo.bar(或fooundefined并且您链接了另一个函数,例如isEmpty()之后,您的脚本就会中断,因为{{1}没有方法undefined

要安全地检查对象属性的值是否在普通js中保存空字符串,您需要使用

isEmpty()