zoukankan      html  css  js  c++  java
  • 对象的扩展

    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

  • 相关阅读:
    day 38
    day 37
    day 36
    day 35
    day 34
    day 33
    day 32
    day 31
    day 30
    day 29
  • 原文地址:https://www.cnblogs.com/pengsn/p/12850805.html
Copyright © 2011-2022 走看看