什么是AngularJS中的问号语法

时间:2017-03-06 14:28:47

标签: javascript angularjs

function querySearch (query) {                 
    var results = query ? $scope.allContacts.filter(createFilterFor(query)) : [];                 
    return results;
}

问号 ? 的含义是什么意思?它是可选的吗?

1 个答案:

答案 0 :(得分:0)

这意味着:如果对query的评估为truthytypeof query != 'undefined' && query != null && query != 0 && query != false),则返回评估$scope.allContacts.filter(createFilterFor(query))的结果,否则返回一个空数组[] )。

在这种情况下,它保证始终返回一个数组。

如果query ?未执行且querynull,例如,$scope.allContacts.filter(createFilterFor(query))可能会抛出一个例外,因此有时会将其用于安全。