【问题标题】:How to add default value and alias using ES6 de-structuring?如何使用 ES6 解构添加默认值和别名?
【发布时间】:2017-02-21 17:33:22
【问题描述】:

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

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);

但这不起作用

【问题讨论】:

  • 你能说明你从什么开始,你想以什么结束吗?我不清楚。
  • 那里为什么会有first
  • @jfriend00 问题的第一行不是说明我想用别名和默认值解构吗?不确定您还在寻找什么?
  • @AndrewLi 我试图为数组的第一项设置别名。但猜猜这不是必需的。
  • @AdityaSingh 不,这不是......

标签: javascript ecmascript-6 destructuring


【解决方案1】:

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

[varName] = yourArray

将其应用于您的示例:

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

你可以试试Babel REPL

【讨论】:

  • 我想我为默认添加了额外的引号,但看看你的答案,数组解构是有意义的。
  • @AdityaSingh 实际上我误读了您的代码。唯一的问题是数组解构。我会编辑我的答案
猜你喜欢
  • 2016-03-20
  • 2018-08-14
  • 2017-06-14
  • 1970-01-01
  • 1970-01-01
  • 2016-10-30
  • 2016-08-02
  • 2019-03-16
  • 1970-01-01
相关资源
最近更新 更多