js对象的一些方法

205 阅读1分钟

js对象的一些方法

Object.assign
 通过复制一个或多个对象来并返回一个新对象
 const src = { a: 1, b: 2 };
 const src1 = { b: 3, c: 4 };
 console.log(Object.assign(src, src1));
Object.create
 生成一个新对象这个对象是__proto__继承的
 const src = {
        var: "12315646"
    };
 console.log(Object.create(src));

image.png

Object.defineProperty()
可以修改或增加一个属性
var obj = {};
Object.defineProperty(obj, 'src', {
   value: 42,   
});//第一个值是定义的对象第二个值是修改的属性名第三个值是对增加或修改的描述
console.log(obj.src);//42
Object.defineProperties()
可以修改或增加多个属性
  var obj = {};
    Object.defineProperties(obj, {
        'src': {
            value: 'Hello',
        },
        'src2': {
            value: 'Hello1',
        }
        // etc. etc.
    });
    console.log(obj)//{src: 'Hello', src2: 'Hello1'}
Object.entries()
    遍历对象
      const object1 = {
       val1:"阿撒大大飒飒大师大",
       val2:"哈哈哈哈哈哈或好",
    };

    for (const [index, item] of Object.entries(object1)) {
        console.log(index, item)//index.html:19 val1 阿撒大大飒飒大师大
                                //index.html:19 val2 哈哈哈哈哈哈或好
    }
Object.freeze()
    冻结属性
    const obj = {
        val: 42
    };
    Object.freeze(obj)
    obj.val = 123;
    console.log(obj);//{val: 42}
Object.is()
    判断传入的是否相等
     var src = {
        a: 1
    }
    var src1 = {
        a: 2
    }
    console.log(Object.is("123", "123"));//true
Object.isExtensible()
    判断对象是否可拓展
    var src = {};
    console.log(Object.isExtensible(src));//true
Object.isFrozen()
     判断对象是否冻结
     var src = {};
    console.log(Object.isFrozen(src));//false
Object.isSealed()
    判断对象是否已经密封
    var empty = {};
    console.log(Object.isSealed(empty))//false
Object.keys()
    遍历字符串数组
    var arr = ['a', 'b', 'c'];
    console.log(Object.keys(arr)); // ['0', '1', '2']
Object.values()
    //遍历属性值
    var obj = { src: 'val', src: 123 };
    console.log(Object.values(obj));