如何使用 ES6 解构添加默认值和别名?

Adi*_*ngh 4 javascript destructuring ecmascript-6

我有一个特定的用例,我想要进行嵌套解构并分配一个别名(将其重命名为另一个变量名,例如aliasD)以及属性的默认值。例如

const a = { b: { c: [{ d: 'value' }] } };
Run Code Online (Sandbox Code Playgroud)

在解构时,我只需要d一个别名aliasD和一个默认值defaultVal。所以我在下面尝试过,但我不确定我错过了什么

const a = { b: { c: [{ d: 'value' }] } };
Run Code Online (Sandbox Code Playgroud)

但这不起作用

Luc*_*cas 6

这里的问题是解构数组,获取数组第一个值的正确语法是:

[varName] = yourArray
Run Code Online (Sandbox Code Playgroud)

将其应用到您的示例中:

const { b: { c: [{ d: aliasD = 'test' }] } } = a;
Run Code Online (Sandbox Code Playgroud)

你可以用Babel REPL尝试一下