[英]Multiple actions after a condition in a JavaScript ternary operation
I'm trying to create a ternary expression than when is true, i'll assign several new keys to an object.我正在尝试创建一个三元表达式,而不是何时为真,我将为 object 分配几个新键。 This returns an error:
这将返回一个错误:
const entity = {};
element.data.icon ?
entity['url'] = element.data.icon.data.image[0].url
entity['alt'] = element.data.icon.data.image[0].alt
entity['title'] = element.data.icon.data.image[0].title :
entity['url'] = ''
I'm trying to get the equivalent to this:我正在尝试获得与此等效的内容:
const entity = {};
if (element.data.icon) {
entity['url'] = element.data.icon.data.image[0].url
entity['alt'] = element.data.icon.data.image[0].alt
entity['title'] = element.data.icon.data.image[0].title
}
entity['url'] = ''
How should I do it?我该怎么做? if possible
如果可能的话
Why not just use the if
version?为什么不只使用
if
版本? It would be more readable.它会更具可读性。
Having said that, you can use commas like so:话虽如此,您可以像这样使用逗号:
element.data.icon
? (entity['url'] = element.data.icon.data.image[0].url,
entity['alt'] = element.data.icon.data.image[0].alt,
entity['title'] = element.data.icon.data.image[0].title)
: entity['url'] = '';
You can use the ternary to assign different complete objects:您可以使用三元来分配不同的完整对象:
const entity = element.data.icon
? {
url: element.data.icon.data.image[0].url,
alt: element.data.icon.data.image[0].alt,
title: element.data.icon.data.image[0].title
}
: {
url: ""
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.