我想验证对象中未定义的属性,所以我像这样使用三元
item.subitem ? item.subitem.toString() : ''
有什么方法可以使用 ||
或 &&
简化此表达式吗?
最佳答案
很简单:
item.subitem && item.subitem.toString() || ''
或者简单地说:
(item.subitem || '').toString()
或者,
''+(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'
关于javascript - 简化简单的三元表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54860214/