首页 > 解决方案 > Javascript ES2020 中是否有等效的 optionalChaining?

问题描述

众所周知,ES2020 支持 optionalChaining。例如,我们可以编写如下代码: let x = {a:{b:'c'}}; 控制台.log(x?.a?.b); 我们会得到'c'。

但是在某些情况下,我们可能想要使用像 x[a][b] 这样的表达式而不是 xab 我们可以使用像 x?[a]?[b] 这样的表达式来评估每个链接对象的验证吗?

标签: javascriptoptional-chainingecmascript-2020

解决方案


括号表示法的语法相同:

 x?.[a]?.[b]

例子:

const x = {a:{b:'c'}};
const a = 'a';
const b = 'b';

const result = x?.[a]?.[b];

console.log(result);


推荐阅读