14.1 概览
14.1.1 新的对象字面量特性
方法定义:
let obj = {
myMethod(x, y) {
···
}
};
属性值缩写:
let first = 'Jane';
let last = 'Doe';
let obj = { first, last };
// Same as:
let obj = { first: first, last: last };
计算属性键:
let propKey = 'foo';
let obj = {
[propKey]: true,
['b'+'ar']: 123
};
这种新语法也可用于方法定义:
let obj = {
['h'+'ello']() {
return 'hi';
}
};
console.log(obj.hello()); // hi
计算属性键主要的应用场景就是使 symbol 成为属性键变得更加方便。
14.1.2 Object
中的新方法
Object
中最重要的新方法是 assign()
。习惯上,在 JavaScript 的世界中,这个函数叫做 extend()
。 Object.assign()
仅考虑自有(非继承)属性。
let obj = { foo: 123 };
Object.assign(obj, { bar: true });
console.log(JSON.stringify(obj));
// {"foo":123,"bar":true}