js对象操作

321 阅读1分钟

对象创建的两种方式

    var obj ={};
    var obj = new Object();

Object.assign()

  • 可以用作对象的复制
    var obj = { a: 1 };
    var copy = Object.assign({}, obj);
    console.log(copy); // { a: 1 }
  • 可以用作对象的合并
    var o1 = { a: 1 };
    var o2 = { b: 2 };
    var o3 = { c: 3 };
    
    var obj = Object.assign(o1, o2, o3);
    console.log(obj); // { a: 1, b: 2, c: 3 }
    console.log(o1);  // { a: 1, b: 2, c: 3 }  注意目标对象自身也会改变
    console.log(o2);  // { b: 2 }
    console.log(o3);  // { c: 3 }
    //var obj = Object.assign({},o1, o2, o3);//此时o1对象自身不会改变

Object.create()

Object.is()

  • 用来判断两个值是否是同一个值。
    Object.is('haorooms', 'haorooms');     // true
    Object.is(window, window);   // true
    
    Object.is('foo', 'bar');// false
    Object.is([], []);// false
    
    var test = { a: 1 };
    Object.is(test, test);// true
    
    Object.is(null, null);// true
    
    Object.is(0, -0);// false
    Object.is(-0, -0);// true
    Object.is(NaN, 0/0);// true

Obj.keys()

    var obj = { 0 : "a", 1 : "b", 2 : "c"};
    console.log(Object.keys(obj));//["0", "1", "2"]
    
    var an_obj = { 100: 'a', 2: 'b', 7: 'c' };
    console.log(Object.keys(an_obj));//["2", "7", "100"]