📜  JavaScript | Reflect.getPrototypeOf() 方法(1)

📅  最后修改于: 2023-12-03 15:16:08.170000             🧑  作者: Mango

JavaScript | Reflect.getPrototypeOf() 方法

在 JavaScript 中,对象要继承属性和方法,必须从其他对象继承。可以使用 Object.setPrototypeOf() 来设置对象的原型(即继承自哪个对象),也可以使用 Object.getPrototypeOf() 来获取对象的原型。但是 Reflect 对象提供了一个更好的方式来获取对象的原型,即 Reflect.getPrototypeOf()

语法
Reflect.getPrototypeOf(target)

参数

  • target:要获取原型的对象。

返回值

Reflect.getPrototypeOf() 方法返回指定对象的原型。

示例
const obj1 = {};
const obj2 = { foo: 'bar' };
Object.setPrototypeOf(obj1, obj2);

// 使用 Object.getPrototypeOf() 获取对象原型
console.log(Object.getPrototypeOf(obj1)); // 输出 { foo: 'bar' }

// 使用 Reflect.getPrototypeOf() 获取对象原型
console.log(Reflect.getPrototypeOf(obj1)); // 输出 { foo: 'bar' }

在上述示例中,obj1 继承自 obj2,通过 Object.setPrototypeOf() 设置了 obj1 的原型为 obj2。然后我们使用 Object.getPrototypeOf() 获取 obj1 的原型,发现原型为 { foo: 'bar' };使用 Reflect.getPrototypeOf() 也获取了相同的结果。

参考