Skip to content

Latest commit

 

History

History
58 lines (44 loc) · 994 Bytes

14.1.md

File metadata and controls

58 lines (44 loc) · 994 Bytes

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}