关于检查变量是否为空:检查变量是否为空 – Angular 2

Check if Variable is Empty - Angular 2

如何在Angular 2中检查变量是否为空? 我知道有一些本地方式,比如

if (myVar === null) {do stuff}

但我正在寻找像Angular 1这样的东西

if (angular.isEmpty(variable)) { do stuff }

问如何使用Angular 2检查变量是否为空?


假设我们有一个名为x的变量,如下所示:

1
var x;

以下声明有效,

1
2
3
4
5
x = 10;
x ="a";
x = 0;
x = undefined;
x = null;

1.号码:

1
2
3
4
x = 10;
if(x){
//True
}

对于x = undefinedx = 0(这里要小心)

1
2
3
if(x){
 //False
}

2.字符串x = nullx = undefinedx =""

1
2
3
if(x){
  //False
}

3布尔x = falsex = undefined

1
2
3
if(x){
  //False
}

通过牢记这一点,我们可以轻松地检查Angular js中的变量是否为空,null,0或未定义。 Angular js doest提供单独的API来检查变量值空白。


1
2
3
4
5
6
7
8
9
10
if( myVariable )
{
    //mayVariable is not :
    //null
    //undefined
    //NaN
    //empty string ("")
    //0
    //false
}


你可以在这里玩不同的类型并检查输出,

演示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
export class ParentCmp {
  myVar:stirng="micronyks";
  myVal:any;
  myArray:Array[]=[1,2,3];
  myArr:Array[];

    constructor() {
      if(this.myVar){
         console.log('has value')     // answer
      }
      else{
        console.log('no value');
      }

      if(this.myVal){
         console.log('has value')
      }
      else{
        console.log('no value');      //answer
      }


       if(this.myArray){
          console.log('has value')    //answer
       }
       else{
          console.log('no value');
       }

       if(this.myArr){
             console.log('has value')
       }
       else{
             console.log('no value');  //answer
       }
    }

}

1
2
3
4
5
6
7
8
user:Array[]=[1,2,3];
if(this.user.length)
{
    console.log("user has contents");
}
else{
    console.log("user is empty");
}

你在寻找那个:

1
2
3
isEmptyObject(obj) {
  return (obj && (Object.keys(obj).length === 0));
}

(在这里找到)

或者那个 :

1
2
3
4
5
6
7
function isEmpty(obj) {
    for(var key in obj) {
        if(obj.hasOwnProperty(key))
            return false;
    }
    return true;
}

在这里找到


如果没有Angular 4空数据

1
2
3
4
5
6
7
8
if(this.data == 0)
{
alert("Null data");
}
else
{
//some logic
}


这取决于你是否知道给定的变量Type。如果您希望它是一个Object,那么您可以检查myVar是否为空对象,如下所示:

1
2
3
 public isEmpty(myVar): boolean {
     return (myVar && (Object.keys(myVar).length === 0));
 }

否则:if(!myVar){},应该做的工作