一.Object.getPrototypeOf():用于读取一个对象的原型对象。
可以用做判断一个实例的原型,可用于判断数据类型
javascript
const a = [1,2,3,4,5,6,7,8,9,10]
console.log('数组实例的原型',Object.getPrototypeOf(a) === Array.prototype) //true
const b = 'test'
console.log('字符串实例的原型',Object.getPrototypeOf(b) === String.prototype) //true
二.Object.setPrototypeOf():用来设置一个对象的原型对象(prototype),返回参数对象本身
javascript
//用法
const o = Object.setPrototypeOf({}, null);
//等同于
function setPrototypeOf(obj, proto) {
obj.__proto__ = proto;
return obj;
}
javascript
let proto = {};
let obj = { x: 10 };
Object.setPrototypeOf(obj, proto);
proto.y = 20;
proto.z = 40;
obj.x // 10
obj.y // 20
obj.z // 40