ES6 下的call()
//对象A
class A {
constructor(name = String(), age = Number()) {
this.name = name
this.age = age
}
getUserInfo() {
return ({ 'name': this.name, 'age': this.age })
}
}
//对象B
class B {
constructor(name, age) {
this.name = name
this.age = age
}
}
const userInfo = new A('lsy', 26).getUserInfo.call(new B('zzs', 28))
console.log(userInfo);
/**
=> { name: 'zzs', age: 28 }
*/