美文网首页
js与ES6对象常用方法区别

js与ES6对象常用方法区别

作者: 一只小丫丫 | 来源:发表于2020-02-25 19:52 被阅读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}
    复制与合并对象

    相关文章

      网友评论

          本文标题:js与ES6对象常用方法区别

          本文链接:https://www.haomeiwen.com/subject/jcgfchtx.html