ES6之对象扩展

关键词:对象扩展

return的返回值只能是一个。我们之前在函数中返回一个对象的时候是这么做的

function fn(x,y) {
    x++;
    y++;    
    return{
        x:x,
        y:y
   }
  }
  console.log(fn(1,2));


// ES6
function fn1(x,y) {
    x++;
    y++;    
    return{x,y}
  }
  console.log(fn1(1,2));

ES6中我们可以玩的花样更多了

  var sex = '御姐';
  var person = {
    name:'赵无垢',
    sex:'抠脚大汉',
    [sex]:'萝莉',
    ['get'+'name'](){
       return this.name;
    }
  };
    console.log(sex);  // 御姐
    console.log(person.getname()); // 赵无垢
    console.log(person[sex]);  // 萝莉
    console.log(person.sex);  // 抠脚大汉
Object.is()

真是要上天,我们之前熟悉的一些语法规则,用了这个方法可能要变天了

    console.log(0 === -0);  // TRUE
    console.log(NaN === NaN);  //FALSE
    console.log(Object.is(0,-0));     // FALSE
    console.log(Object.is(NaN,NaN));  //TRUE
Object.assign()

语法:Object.assign( '组合’,‘被组合’,‘被组合’ ...)
没错,现在对象都可以合并了

    var obj1 = {
      age:30,
      sex:'男',
    };
    var obj2 = {
        name:'王者小弟'
    };
    var obj3 = {
        name:'耶和华',
        range:'白金',
        scope:'艾欧尼亚'
    }
    Object.assign(obj1,obj2,obj3);  
    console.log(obj1); 
    Object.assign(obj1,obj3,obj2); 
    console.log(obj1);
    var Cat = function(name){
        this.name = name;
    };
Proxy()
    var obj = {
        a:1,
        b:2
    };

    var p1 = new Proxy(obj,{
        get(obj,attr){           //当属性值访问时触发
          console.log(obj,attr)
          return obj[attr];
        },
        set(obj,attr,value){     //当属性值修改时触发
          console.log(obj,attr,value);
          obj[attr] = value;
        }  
    })
    console.log(p1.b);  // 2
    p1.a = 10;
    console.log(p1.a);  // 10
    // 监控对象的变化,一旦发生变化就会触发回调函数
    //  无效
    console.log(Object.keys(obj));
    console.log(Reflect.ownKeys(obj));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.属性的简洁表示法 允许直接写入变量和函数 上面代码表明,ES6 允许在对象之中,直接写变量。这时,属性名为变量...
    雨飞飞雨阅读 1,230评论 0 3
  • 属性的简洁表示法 ES6允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 上面代码表明,ES6允...
    呼呼哥阅读 3,005评论 0 2
  • 三,字符串扩展 3.1 Unicode表示法 ES6 做出了改进,只要将码点放入大括号,就能正确解读该字符。有了这...
    eastbaby阅读 1,666评论 0 8
  • 官方中文版原文链接 感谢社区中各位的大力支持,译者再次奉上一点点福利:阿里云产品券,享受所有官网优惠,并抽取幸运大...
    HetfieldJoe阅读 2,673评论 9 22
  • 一、ES6简介 ​ 历时将近6年的时间来制定的新 ECMAScript 标准 ECMAScript 6(亦称 ...
    一岁一枯荣_阅读 6,206评论 8 25

友情链接更多精彩内容