ES6对象扩展

来源:互联网 发布:mac怎么清理safari 编辑:程序博客网 时间:2024/04/30 15:18

一、属性、方法的简洁写法

ES6允许直接写入变量和方法,作为对象的属性与方法。

let objPar = 's';

let obj = {

name:'obj',

objPar,

method(){

console.log(this.objPar);

}

};

二、属性名表达式

对象定义属性两种方法:一是直接使用标识符作为属性名,二是用表达式作为属性名。

obj.par = 'b';

obj['last name'] = 's';

ES6允许使用表达式定义属性与方法名:

let parName = 'name';

let methodName = 'method';

let obj = {

[parName]:'sobj',

[methodName](){

console.log(this[parName]);

}

};

三、方法扩展

1、Object.is()

比较两个值是否严格相等,其中+0不等于-0,NaN与自身相等。

Object.is(-0,+0);//false

Object.is(NaN,NaN);//true

2、Object.assign()

对象的合并,将源对象所有可枚举属性,复制到目标对象。只拷贝源对象的可枚举属性,