2017-09-15 60 views
2

我检查,如果命名为“标记”嵌套对象项目为空或不是,在AngularIDE与Angular4Angular4 - 检查嵌套的对象项目为空

if (typeof this.user.data.token !== "undefined") 

这是投掷<Cannot read property 'token' of null>

应该我必须检查每个嵌套的对象存在吗?

+0

您可以使用lodash检查嵌套属性 –

+0

你能做出一个例子吗? –

+0

检查lodash在官方文档中获取函数 –

回答

0

你必须......

if (this.user && this.user.data && this.user.data.token) { 
} 
0

始终牢记这未定义是不同的,当你看到不确定这意味着一个变量是宣布,但它不包含任何价值和null是一个实际assi gnment值。 undefined也是一个类型,null是一个对象。所以..

if(!(this.user.data.token == null)); 

应该为你工作,如果你想添加只是一些其他的条件和操作||和类型的一个条件。

如果你正在寻找检查你可以这样做

this.user.data.token != undefined && ... 

等不确定的对象..