2016-03-21 10 views

答えて

21

をちょうど使用 -

if(!a) // if a is negative,undefined,null,empty value then... 
{ 
    // do whatever 
} 
else { 
    // do whatever 
} 

これが原因でいくつかの値に変換し、JavaScriptで===から==差、の「等しい作品他の型の値が等しいかどうかをチェックします。===これは単純に値が等しいかどうかをチェックします。ですから、基本的に==演算子は ""、null、undefinedをfalse値に変換することを知っています。それはまさにあなたが必要とするものです。

+1

を関数を使用して、簡単なチェックを行うことができます。たとえば、 '$ scope。$ watch()'を使用すると、新しい値が未定義かnullかをチェックしたいが、その値がブール値ならソリューションを使うことはできない。 – Charleshaa

+0

また、数値には注意が必要です。未定義とnullをキャッチすることはできますが、0ではなく、キャッチすることができます。 –

2

あなたが行うことができます false0NaNも偽の値とみなすことができる

if($scope.test == null || $scope.test === ""){ 
    // null == undefined 
} 

場合はあなただけ行うことができます

if($scope.test){ 
//not any of the above 
} 
0
if($scope.test == null || $scope.test == undefined || $scope.test == "" || $scope.test.lenght == 0){ 

console.log("test is not defined"); 
} 
else{ 
console.log("test is defined ",$scope.test); 
} 
+0

あなたのコードも説明してください –

0

また、ブール値を扱うとき、私はそれに注意してくださいだろう、

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

これは値= 0では機能しません。 –