es6的解构但传递动态变量

Ale*_*ong 8 javascript reactjs

说我state是这样的:

{
  item:{
      a:'a',
      b:'b'
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我就能a从项目中拉出来:

const { a } = this.state.item

但能够以动态使用{}es6

例如const { variable } = this.state.item,变量可以是ab.

Nin*_*olz 10

作为4castle pointet out,您可以使用Computed对象属性名称和解构与其他键/值对变量进行解构.

var object = { item: { a: 'a0', b: 'b0' } },
    key = 'b',
    value;

({ [key]: value } = object.item);

console.log(value);
Run Code Online (Sandbox Code Playgroud)

  • 你要求解构.剩下的由你决定. (3认同)
  • @AlexYong Destructuring 仅在您需要一次对多个属性执行此操作时才有意义。否则,你还不如做`const value = object.item[key];` (2认同)