对象的扩展

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

原文地址:https://www.cnblogs.com/pengsn/p/12850805.html