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

时间:2017-02-21 17:33:22

标签: javascript ecmascript-6 destructuring

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

const a = { b: { c: [{ d: 'value' }] } };

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

const a = { b: { c: [{ d: 'value' }] } };
const { b: { c: [first: { d: aliasD = defaultVal }] } } = a;

console.log(aliasD);

但这不起作用

1 个答案:

答案 0 :(得分:2)

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

[varName] = yourArray

将其应用于您的示例:

const { b: { c: [{ d: aliasD = 'test' }] } } = a;

您可以使用Babel REPL

进行试用