ES6 第十一节 ES6中的对象

ES6 第十一节 ES6中的对象


第十一节 ES6中的对象

在ES6中对象有了很多新特性:

对象赋值

ES6允许把声明的变量直接赋值给对象,我们看下面的例子。

let name="da0sy";
let skill= 'web';
var obj= {name,skill};
console.log(obj);   //Object {name: "da0sy", skill: "web"}

对象key值构建

有时候我们会在后台取出key值,而不是我们前台定义好的,我们应该如何构建我们的key值?比如我们在后台取了一个key值,然后可以用[ ] 的形式,进行对象的构建。

let key='skill';
var obj={
    [key]:'web'
}
console.log(obj.skill);  //web

自定义对象方法

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

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

Object.is()对象比较

对象的比较方法,以前进行对象值的比较,经常使用===来判断,比如下面的代码:

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

ES6为我们提供了is方法进行对比

var obj1 = {name:'jspang'};
var obj2 = {name:'jspang'};
console.log(obj1.name === obj2.name);   //true
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()为严格相等。

Object.assign()合并对象

操作数组时我们经常使用数组合并,那对象也有合并方法,那就是assgin( )

var a={a:'da0sy'};
var b={b:'黛西'};
var c={c:'web'};

let d=Object.assign(a,b,c);
console.log(d);

猜你喜欢

转载自www.cnblogs.com/Elva3zora/p/12552806.html