【发布时间】:2021-10-08 06:12:32
【问题描述】:
我无法理解为什么Optional Chaining 在我的代码中不起作用。我确信这是我的代码被破坏了,但我想了解处理这个问题的适当方法是什么。在理想的世界中,我可以这样做:
let traitType = trait['trait_type'];
let traitValue = trait['value'];
let configTrait = overrideBids.traitType?.traitValue;
traitType 和 traitValue 都是 String 类型的对象。上面的示例出现语法错误。相反,起作用的是这个更冗长的代码:
let configTrait = null;
if (overrideBids[trait['trait_type']]) {
configTrait = overrideBids[trait['trait_type']][trait['value']];
}
有没有更简洁的方法使用可选链接或其他一些现代 JavaScript 解决方案来将我上面的条件替换为不那么冗长的条件?
【问题讨论】:
-
使用点表示法时,属性名称是字面量,而不是变量。
-
@Barmar 谢谢,我的方法是解决方案最不冗长的方法吗?
标签: javascript node.js