对象有一些重要的方法:
- Object.is(v1,v2) 判断2个数据是否完全相等。
- Object.assign(target,source1,source2...) 将源对象的属性复制到目标对象上。
- 直接操作 __proto__ 属性(隐式原型) 。
Object.is(v1,v2) :
console.log(0 == -0);//true
console.log(NaN == NaN);//fasle NaN和任何值都不相等
//Object.is(v1,v2) 是以字符串判断
console.log( Object.is(0, -0) );//false
console.log( Object.is(NaN, NaN) );;//true
Object.assign(target,source1,source2...) :
let obj = {};
let s1 = {
username: "zhangsan",
age : 43
}
let s2 = {sex:"男"}
Object.assign(obj,s1,s2);
console.log(obj);//{username: "zhangsan", age: 43, sex: "男"}
直接操作 __proto__ 实现对象的继承:
let obj3 = {};
let obj4 = {age:34};
obj3.__proto__ = obj4;//相当于obj3继承了obj4
console.log(obj3);
console.log(obj3.age);//34