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

    1.简洁表示法

    {  let o=1;

    let k=2;

    let es5={  o:o,  k:k  };

    let es6={  o,  k  };

    console.log(es5,es6);

    }

    es6比es5表示要简洁一些

    方法的简洁表达

    let es5_method={

    hello:function()

    {  console.log('hello');  }

    };

    let es6_method={

    hello()

    {  console.log('world');  }

    }

    console.log(es5_method.hello(),es6_method.hello());

    2.属性表达式

    {  let a='b';

    let es5_obj={  a:'c',  b:'c'  };

    let es6_obj={  [a]:'c'  }
    console.log(es5_obj,es6_obj);

    }

    在es5中,a的值没有改变,在es6中,a的值在之前赋值时就已经改变了,这种方便对象名因为另一个值做变换,可以实现变量的依赖

    3.新怎API

    判断字符串是否相等

    {  console.log('字符串',Object.is('abc','abc'),'abc'==='abc');

    console.log('数组',Object.is([],[]),[]===[]);  }

    这里object.is()其实是等价于===的,而第二个数组虽然值都是空的,但是数组返回的是数组的地址,两个地址是不一样的,所以是false

    拷贝

    console.log('拷贝',Object.assign({a:'a'},{b:'b'}));

    这个API将前后的对象合并成了一个对象,而且是一个前拷贝,这个API不能做后拷贝,如果这个对象还有继承,这个API是不会拷贝继承的,也不可拷贝对象中不可枚举的属性

    entries

    let test={k:123,o:456};

    for(let [key,value] of Object.entries(test))

    {  console.log("qq",[key,value]);  }

    这个可以取得对象里面的值

    扩展运算符

    let {A,B,...C}={a:'test',b:'kill',c:'ddd',d:'sss'}

    其中C={

    c:'ddd',

    d:'sss'

    }

  • 相关阅读:
    SOA架构
    基于计算机视觉的交通场景智能应用-需求分析和原型设计
    《一线架构师实践指南》第三部分阅读笔记
    2020python练习三
    python数据分析
    可修改性
    淘宝网的六个质量属性
    Python学习十六
    Python学习十五
    Python学习十四
  • 原文地址:https://www.cnblogs.com/ellen-mylife/p/11083013.html
Copyright © 2011-2022 走看看