我想检查以下对象是否具有属性forums
以及该属性值是否为true
。
{forums: true, pages: true, photos: true, videos: true}
我正在使用TypeScript Angular 5.
我现在这样做并且工作正常。
let item = 'forums';
if ( this.itemsmodel.hasOwnProperty(item) ) {
//Which is true.
if (this.itemsmodel[item]) {
item = item;
} else {
item = 'pages';
}
}
是否有Angular方式或TypeScript方式?
答案 0 :(得分:3)
最短路,默认情况下会检查两者:
if(this.itemsmodel[item])
首先它会尝试抓取this.itemsmodel
item
如果没有undefined
那么它将返回if(this.itemsmodel[item] && this.itemsmodel[item] === true)
,如果找到它,那么它将返回值,
相同但漫长的做法:
let item = 'forums';
if (this.itemsmodel[item]) {
item = item;
} else {
item = 'pages';
}
首先将检查密钥是否存在,第二个将检查值
结果您可以将代码转换为以下内容:
deleteKey