ES6 — 如何从具有字符串键的对象中解构?

ES6 — How to destructure from an object with a string key?

我有一个对象

{
  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

因为这会出错。

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

通过提供有效的键名来解构它,例如

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