对象的扩展
ES6-扩展
【String, RegExp, Array, Number, Function, Object】
对象的扩展
属性的简洁表示法
这糖太甜了, 湖南人表示吃不惯
var cart = {
_wheels: 4,
age,
show(){
console.info(this.age)
},
get wheels() {
console.info(this._wheels);
return this._wheels;
}
}
cart.show();
cart.get();
Object.is()
- 用来比较两个值是否严格相等,与===行为基本一致
- 不同之处有两个:+0 != -0 NaN
+0 === -0 //true
NaN === NaN // false
Object.is(+0, -0) // false
Object.is(NaN, NaN) // true
Object.assign()
- 相对拷贝 Object.assign(target, source1, source2);
- 克隆 Object.assign({}, origin);
属性遍历
-
for in //含继承
-
Object.keys() //不含继承
-
Object.getOwnPropertyNames() //对象自身所有的属性
-
Object.getOwnPropertySymbols() //包含对象自身的所有Symbol属性
-
Reflect.ownKeys() // 包含对象自身的所有属性
-
Reflect.enumerate() // 返回一个迭代对象[iterator]
-
遍历次序规则
-
首先遍历所有属性名为数值的属性,按照数字排序。
-
其次遍历所有属性名为字符串的属性,按照生成时间排序。
-
最后遍历所有属性名为Symbol值的属性,按照生成时间排序。
Object.setPrototypeOf() Object.getPrototypeOf() proto
如果觉得文章对您有用,请点下推荐。您的支持将鼓励我继续创作!