JavaScript · 单选题 · 第 13 题
前端与全栈开发面试 · 第 13 题
执行 function F() {} const f = new F(); 后,下列表达式结果为 true 的是?
- AObject.getPrototypeOf(f) === F.prototype
- Bf.prototype === F.prototype
- CObject.getPrototypeOf(F) === F.prototype
- DObject.getPrototypeOf(F.prototype) === F
答案
A A. Object.getPrototypeOf(f) === F.prototype
解析
new 会创建一个对象,并把它的原型指向构造函数的 prototype,所以实例的原型就是 F.prototype。实例对象本身没有 prototype 属性,f.prototype 是 undefined。函数 F 的原型是 Function.prototype;F.prototype 的原型是 Object.prototype,构造函数通过 F.prototype.constructor 才能找回 F。