object 的扩展

44 阅读1分钟

Object.is()

Object.is()是用来比较俩个值是否严格相等。与比较运算符===基本一致

Object.is('foo', 'foo');
// true
Object.is({}, {}); 
// false

但是有两处不同。

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

Object.assign()

用于合并对象,至少有2个参数,一个是目标对象,一个是源对象。

就是把源对象,复制到目标对象里面。

只要有一个对象不是参数,就是报错。

var target = { a: 1 };
var source1 = { b: 2 };
var source2 = { c: 3 };
Object.assign(target, source1, source2);
console.log(target);//{ a: 1, b: 2, c: 3 }

var obj = { a: 1 };
var copy = Object.assign({}, obj);
console.log(copy); //{ a: 1 }