You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用Object.getPrototypeOf获取函数的返回值是什么?函数的[[Prototype]]指向何处?

关于函数原型的两个问题解答

1. 调用Object.getPrototypeOf方法获取函数的返回值是什么?

Object.getPrototypeOf() 方法返回的是传入函数的内部[[Prototype]]属性值,也就是该函数原型链上的直接原型对象。

  • 对于普通函数(非class语法的构造函数),返回的是 Function.prototype;
  • 对于class extends定义的子类构造函数,返回的是父类构造函数,如示例所示。

2. 函数的[[Prototype]]指向哪里?

函数作为特殊对象,默认情况下它的[[Prototype]]指向Function.prototype——所有函数都是Function的实例,因此会继承Function.prototype上的call、apply等方法。
唯一例外是class extends语法创建的子类构造函数,它的[[Prototype]]会指向父类构造函数,这是class继承机制的特殊设计,用于让子类继承父类的静态方法与属性。

代码示例验证

class a{}
class b extends a{}

Object.getPrototypeOf(b)===a //true

这段代码中,子类b的[[Prototype]]指向父类a,因此Object.getPrototypeOf(b)返回a,全等比较结果为true。


内容的提问来源于stack exchange,提问作者lei li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 13:32:30