zoukankan      html  css  js  c++  java
  • ES6系列_9之对象

     1.对象赋值

    es5中的对象赋值方式如下:

    let name="小明";
    let skill= 'es6开发';
    var obj= {name:name,skill:skill};
    console.log(obj);

    结果为:

    ES6允许把声明的变量直接赋值给对象,例如:

    let name="小明";
    let skill= 'es6开发';
    var obj= {name,skill};
    console.log(obj);

    结果与上述相同。

    2.对象Key值构建

    有时候我们会在后台取出key值,而不是我们前台定义好的,这时候我们可以我们可以把后台定义的key值重新构建返回给后台。

     在前端我们可以用[ ] 的形式,进行对象的构建。

    let key='skill';//假定是后台定义的key值
    var obj={
        [key]:'web'  //构建key值
    }
    console.log(obj.skill);//web

    3.自定义对象方法

     对象方法就是把对象中的属性,用匿名函数的形式编程方法。

    var obj={
        add:function(a,b){
            return a+b;
        }
    }
    console.log(obj.add(1,2));  //3

    4.Object.is( ) 对象比较

    ES5的对象比较方法,经常使用===来判断,如下:

    var obj1 = {name:'admin'};
    var obj2 = {name:'admin'};
    console.log(obj1.name === obj2.name);//true

    ES6为我们提供了is方法进行对比,如下:

    var obj1 = {name:'admin'};
    var obj2 = {name:'admin'};
    console.log(Object.is(obj1.name,obj2.name))//true

    区分=== 和 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

    记忆为:===为同值相等,is()为严格相等。

    6.Object.assign( )合并对象

    使用assgin( )可以实现像数组一样的合并操作。

    var a={a:'a'};
    var b={b:'b'};
    var c={c:'c'};
    let d=Object.assign(a,b,c)
    console.log(d);

    结果为:

  • 相关阅读:
    [luoguP2770] 航空路线问题(最小费用最大流)
    javascript技巧大全套
    jLim
    自己封装的Ajax
    JavaScript函数调用规则
    JavaScript模板引擎使用
    JavaScript MD5
    JavaScript SHA-1
    JavaScript Map对象的实现
    javascript中的_return_false和return_true
  • 原文地址:https://www.cnblogs.com/wfaceboss/p/10056087.html
Copyright © 2011-2022 走看看