Javascript ES2020 中是否有等效的 optionalChaining?

Is there an equivalent of optionalChaining in Javascript ES2020?

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

但在某些情况下,我们可能希望使用像 x[a][b] 这样的表达式而不是 x.a.b。我们可以使用类似 x?[a]?[b] 的东西来评估每个链接对象的验证吗?

语法与 brackets notation 相同:

 x?.[a]?.[b]

示例:

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

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

console.log(result);