js与ES6对象常用方法区别

2020-02-25  本文已影响0人  一只小丫丫

js与ES6对象常用方法区别
js中对象方法

Object.assign//用于克隆

var first = {name : 'kong'};
var last = {age : 18};
var person = Object.assign(first, last);
console.log(person);//{name : 'kong', age : 18

Object.is()
…用于判断两个值是否相同

Object.is(a, b);

Object.keys()
…用于返回对象可枚举的属性和方法的名称

var a = {name : 'kong', age : 18, func : function(){}};
Object.keys(a); //['name', 'age', 'func']

Object.defineProperty()
…劫持变量的set和get方法,将属性添加到对象,或修改现有属性的特性

var a = {};
Object.defineProperty(a, 'name', {
value : 'kong',
enumerable : true   //该属性是否可枚举
})

Object.defineProperties()
…可添加多个属性,与Object.defineProperty()对应,

Object.defineProperties(a, {
name : {
    value : 'kong',
    enumerable : true
},
job : {
    value : 'student',
    enumerable : true
}
})

isPrototypeOf
…确定一个对象是否存在于另一个对象的原型链中

function a(){}
var b = new a();
console.log(a.prototype.isPrototypeOf(b));//true

ES6中对象方法

1.对象的简写(变量名和对象的键一致)
2.对象属性的表达式
3.对象的拷贝合并 Object.assign()
4.扩展对象
{...a, ...b}
复制与合并对象

上一篇下一篇

猜你喜欢

热点阅读