javascript - 简化简单的三元表达式

标签 javascript conditional-statements ternary-operator

我想验证对象中未定义的属性,所以我像这样使用三元

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/

相关文章:

javascript - 使用 Dropzone 和 individual 输入字段进行多次上传

javascript - 仅点击 div 中的目标元素

mysql - 在 SQL 中,可以对行条件指定限制吗?

MySQL如何有条件地计数和求和

loops - LISP文件读取循环条件和序号

c++ - 以下 C/C++ 代码是否调用未定义的行为?

javascript - 使用文件输入的 onchange 的解决方法是什么?

javascript - 聚合 Mithril 中的成分

javascript - 在与有状态值相关的两个组件之间进行转换

javascript - 逻辑或代替三元