📅  最后修改于: 2023-12-03 15:16:07.769000             🧑  作者: Mango
在 JavaScript 中,getPrototypeOf() 方法返回指定对象的原型(即,[[Prototype]] 内部属性的值)。
Object.getPrototypeOf(obj)
参数说明:
返回值:
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
// 得到对象 Person 的原型
const proto = Object.getPrototypeOf(Person);
console.log(proto); // Output: [Function]
const person = new Person('John', 'Doe');
console.log(Object.getPrototypeOf(person) === proto); // Output: true
解释:
Object.getPrototypeOf()
方法获取 Person 构造函数的原型,为函数类型。person
对象,并使用 Object.getPrototypeOf()
方法获取其原型,判断其是否与 Person 构造函数的原型相等,结果为 true
。const person = {
name: 'John Doe'
};
const proto = Object.getPrototypeOf(person);
console.log(proto); // Output: {}
const secondProto = Object.getPrototypeOf(proto);
console.log(secondProto); // Output: null
解释:
person
对象,并使用 Object.getPrototypeOf()
方法获取其原型,结果为一个空对象。Object.getPrototypeOf()
方法获取空对象的原型,结果为 null
。Object.getPrototypeOf()
或 直接调用对象实例的 __proto__
属性来调用该方法。