属性的简洁表示法
可以直接使用一个变量来初始化对象,变量名即属性名,变量值即属性值。
1  | var foo = 'bar';  | 
另外一个例子
1  | function f_es5(x, y) {  | 
方法的简洁表示法
ES6 简洁方法后与一些面向对象的高级语言(如C++)差不多,函数名+参数+花括号。另外注意简洁写法的属性名是按字符串解析的。方法的属性名可以是一些关键字,由于是按字符串来解析的,所以不会产生歧义。
1  | var obj_es5 = {  | 
用表达式定义属性名和方法名
ES5 中仅允许使用字面常量来定义属性名和方法名,而 ES6 中允许使用表达式。比如两个字符串拼接成一个方法名,如下所示:
1  | var attrKey = 'foo';  | 
Object.is() 方法
该方法用来弥补 == 和 === 的缺陷,可以严格对比两个对象是否相等。
1  | console.log(Object.is('foo', 'foo'));  | 
从书中复制过来的 ES5 实现 Object.is 的实现
1  | Object.defineProperty(Object, 'is', {  | 
Object.assign() 方法
1  | var target = { a: 1, b: 1 };  | 
Object.assign 常见的用法在书中也列举了很多,我觉得非常实用,所以自己手抄一下给大家分享,更多请参考原著。
1  | // 给对象添加属性  | 
1  | // 给对象添加方法  | 
