【发布时间】:2019-09-09 07:05:30
【问题描述】:
什么是 { XYZ } = 对象?其中 Object 具有 xyz 作为属性。
【问题讨论】:
标签: javascript reactjs react-native object ecmascript-6
什么是 { XYZ } = 对象?其中 Object 具有 xyz 作为属性。
【问题讨论】:
标签: javascript reactjs react-native object ecmascript-6
称为destructuring assignment,用于提取对象属性或数组元素。这是一个例子:
const object = { xyz: "abc" };
let { xyz } = object;
console.log(xyz);
上面定义了一个对象,其属性名为xyz。然后将该属性的值保存到名为xyz 的变量中。它本质上是在 ES5 中执行此操作的简写(因为 ES6 中引入了解构):
var object = { xyz: "abc" };
var xyz = object.xyz;
console.log(xyz);
你也可以重命名解构变量:
const object = { xyz: "abc" };
const { xyz: letters } = object;
console.log(letters);
就像变量一样:
var object = { xyz: "abc" };
var letters = object.xyz;
console.log(letters);
它也适用于函数:
const logName = ({ name }) => console.log(name);
const john = { age: 42, name: "Mr. Doe" };
logName(john);
ES6 相当于:
function logName(person) {
var name = person.name;
console.log(name);
}
var john = { age: 42, name: "Mr. Doe" };
logName(john);
【讨论】: