众所周知,ES2020 支持 optionalChaining。例如,我们可以编写如下代码: let x = {a:{b:'c'}}; 控制台.log(x?.a?.b); 我们会得到'c'。
但是在某些情况下,我们可能想要使用像 x[a][b] 这样的表达式而不是 xab 我们可以使用像 x?[a]?[b] 这样的表达式来评估每个链接对象的验证吗?
众所周知,ES2020 支持 optionalChaining。例如,我们可以编写如下代码: let x = {a:{b:'c'}}; 控制台.log(x?.a?.b); 我们会得到'c'。
但是在某些情况下,我们可能想要使用像 x[a][b] 这样的表达式而不是 xab 我们可以使用像 x?[a]?[b] 这样的表达式来评估每个链接对象的验证吗?
括号表示法的语法相同:
x?.[a]?.[b]
例子:
const x = {a:{b:'c'}};
const a = 'a';
const b = 'b';
const result = x?.[a]?.[b];
console.log(result);