ES6 - 如何使用字符串键从对象中进行结构化?

时间:2017-06-03 12:08:26

标签: javascript ecmascript-6 destructuring

我有一个对象

{
  hello_en: 'hello world',
  'hello_zh-CN': '世界您好',
  something: 'nice day',
  something_else: 'isn\'t it'
}

被传递到函数

function(data) {
  const { hello_en, hello_zh-CN, ...rest } = data
  // do some stuff with hello_en and hello_zh-CN
  // so some other stuff with rest
}

但当然hello_zh-CN不是有效的密钥名称。

我无法写

const { hello_en, 'hello_zh-CN', ...rest } = data

因为这会产生错误。

当其中一个键是字符串时,如何解析对象的属性?

1 个答案:

答案 0 :(得分:13)

通过提供有效的密钥名称来构建它,例如

  const { hello_en, 'hello_zh-CN': hello_zHCN, ...rest } = data

工作代码段



var data = {
  hello_en: 'hello world',
  'hello_zh-CN': '世界您好',
  something: 'nice day',
  something_else: 'isn\'t it'
}

const { hello_en, 'hello_zh-CN': hello_zHCN, ...rest } = data

console.log(hello_zHCN);