【问题标题】:Optional chaining in node v12.13.1节点 v12.13.1 中的可选链接
【发布时间】:2021-10-08 06:12:32
【问题描述】:

我无法理解为什么Optional Chaining 在我的代码中不起作用。我确信这是我的代码被破坏了,但我想了解处理这个问题的适当方法是什么。在理想的世界中,我可以这样做:

let traitType = trait['trait_type'];
let traitValue = trait['value'];    
let configTrait = overrideBids.traitType?.traitValue;

traitTypetraitValue 都是 String 类型的对象。上面的示例出现语法错误。相反,起作用的是这个更冗长的代码:

  let configTrait = null;
  if (overrideBids[trait['trait_type']]) {
      configTrait = overrideBids[trait['trait_type']][trait['value']];
  }
      

有没有更简洁的方法使用可选链接或其他一些现代 JavaScript 解决方案来将我上面的条件替换为不那么冗长的条件?

【问题讨论】:

标签: javascript node.js


【解决方案1】:

要使用带有可选链接的变量属性名称,您必须使用方括号,就像正常的动态属性访问一样。

let configTrait = overrideBids[traitType]?.[traitValue];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 2020-12-28
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 2018-12-22
    相关资源
    最近更新 更多