AngularJS - 同时检测未定义的null或空值的最佳方法是什么?

时间:2014-10-15 18:21:40

标签: angularjs

有时我需要同时检查三个条件的值,null,undefined或“”。由于我还没有找到任何方法来做到这一点,我编写了自己的方法并且它有效。

$scope.isNullOrEmptyOrUndefined = function (value) {
    if (value === "" || value === null || typeof value === "undefined") {
        return true;
    }
}

只是想知道是否有更好的方法来完成同样的事情。

非常感谢,

吉列尔莫

4 个答案:

答案 0 :(得分:13)

这个怎么样?因为你似乎在那些null / undefined案例中返回true:

$scope.isNullOrEmptyOrUndefined = function (value) {
    return !value;
}

http://jsfiddle.net/1feLd9yn/3/

请注意,空数组和空对象也将返回false,因为它们是真值。如果你想要翻转真/假回报,那么省略!在价值之前。

答案 1 :(得分:5)

更新

正如评论中所提到的,最好使用return !value

$scope.isValid = function(value) {
    return !value
}

旧的和不完整的答案

正确的方法是使用angular.isDefined()

答案 2 :(得分:1)

next

您可以定义一个函数,也可以使用内联命令。

**AngularJS - What is the best way to detect undefined null or empty value at the same time?**

答案 3 :(得分:0)

我尝试了下面的代码,它在我的角度js应用程序中工作得很好。

function isValid(value) {
            return typeof value !== 'undefined';
        };