Angular 2属性在检查时未定义

时间:2017-06-14 13:55:13

标签: angular types

遇到了一个小问题。

if(this.arrTest[1][1][1][0][0] === undefined){
      console.log("this array is undefined");
}

控制台: 错误类型错误:无法读取未定义的属性“1”

我在项目中经常使用相同的类型检查。只有在这一行它失败了,如果(arrTest ..),if(typeof arrTest ..)也尝试过。任何的想法 ?

编辑:console.log不会被触发。

1 个答案:

答案 0 :(得分:0)

错误表示正在匹配的属性不存在。

如果以下情况属实,那就会发生

  • this.arrTest未定义或
  • this.arrTest [1]未定义
  • this.arrTest [1] [1]未定义。

基本上你可以检查以上所有内容如下

if(this.arrTest === undefined || this.arrTest[1] === undefined || this.arrTest[1][1] === undefined || this.arrTest[1][1][1] === undefined || this.arrTest[1][1][1][0] === undefined || this.arrTest[1][1][1][0][0] === undefined )