繁体   English   中英

JavaScript 三元运算中的条件后的多个动作

[英]Multiple actions after a condition in a JavaScript ternary operation

我正在尝试创建一个三元表达式,而不是何时为真,我将为 object 分配几个新键。 这将返回一个错误:

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'] = ''

我正在尝试获得与此等效的内容:

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'] = '' 

我该怎么做? 如果可能的话

为什么不只使用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'] = '';

您可以使用三元来分配不同的完整对象:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM