我想验证对象的未定义属性,所以我使用像这样的三元
item.subitem ? item.subitem.toString() : ''
是否可以使用||
或&&
简化此表达式?
答案 0 :(得分:2)
很简单:
item.subitem && item.subitem.toString() || ''
或者仅仅是这样:
(item.subitem || '').toString()
OR
''+(item.subitem || '')
如果可以使用可选链接,那么它甚至可以更加简单:
item.subitem?.toString()
有关更多详细信息,请参见this post。
作为@Thomas mentioned in comment,您还可以使用数组并将其转换为字符串:
[item.subitem].toString();
这应该清楚其工作方式:
[].toString(); // ''
[undefined].toString(); // ''
['foo'].toString(); // 'foo'
['foo', 'bar'].toString(); 'foo,bar'
答案 1 :(得分:1)
是的
(item.subitem || '').toString()