1. 对象字面量语法扩展
- 属性初始值的简写:当一个对象的属性与本地变量同名时,不必再写冒号和值,简单的只写属性名即可。
function Person(name, age){
return {
name: name,
age: age
};
}
function Person(name, age){
return {
name,
age
};
}
- 对象方法的简写:消除了冒号和关键字function,可以使用super关键字。
2. Object.is()方法接受两个参数,如果这两个参数类型相同且具有相同的值,则返回true。该方法的运行结果大部分情况与===运算符相同,唯一的区别在于+0和-0被识别为不相等并且NaN与NaN等价。
3. Object.assign()方法接受一个接收对象和任意数量的源对象,最终返回接收对象。Object.assign()接受任意数量的源对象,并按制定的顺序将属性复制到接收对象中。所以,如果多个源对象具有同名属性,则排位靠后的源对象会覆盖排位靠前的。
4. 自由属性枚举顺序的基本规则是:
- 所有数字键按升序排列。
- 所有字符串键按照它们被加入对象的顺序排序。
- 所有symbol键按照它们被加入对象的顺序排序。
5. Object.setPrototypeOf()方法接受两个参数:被改变原型的对象及替代第一个参数原型的对象。该方法可以改变任意指定对象的原型。
6. super引用相当于指向对象原型的指针,在多重引用下非常有用。