做百度前端技术学院对象原型继承时,对这个问题题目的不解?-灵析社区

楠楠不难难

做[百度前端技术学院对象原型继承](https://link.segmentfault.com/?enc=pmV6bgSoGtrYtmQyYH5UlA%3D%3D.Gw7eQG1aTBoOx8W5zqh3VgzZTIyeiP2kEuwnwBSGMvy3Ok7GKYdNVqXnXW5NWsfozbbaUKt4Hr773DTz%2Fo%2F9A8prPndzJcmYMs9MPGX4bLZPxFPE%2BS1Y3dGa5GZ4IcGr)时,对这个问题题目的不解 ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/a57e5fabe107dd83486468ab74d60246.png) 我理解的继承应该是这样的,通过原型链将函数的`prototype`链接起来,当生成一个新的实例(`new`)的时候,再将该实例加入到原型链中,从而实现对一些方法或属性的复用。 ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/ded7ed32face64a7472ec6cf6094cbf3.png) 而看这里的描述是直接将构造函数`Teacher`的`prototype`指向了`Person`。 ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/150941dd616b0e9b96008dc635039cbc.png) Teacher 构造函数继承 Person 所有的属性和方法 Teacher 的原型指向 Person 对于这里的测试用例也不太理解 var teacherWang = new Teacher("Miss Wang", "28", "English"); //获取 obj 的原型对象 function getProto(obj) { // your code here } console.log(getProto(teacherLiu)); // -> Teacher 这里的返回值为什么是`Teacher`呢?我们通过new创建的一个对象,它的`[[Prototype]]`应该是`Teacher.prototype`才是。 在这个描述中,出现了`原型`和`原型对象`两个名词,`原型`应该是说的是`prototype`,`原型对象`说的应该是`[[Prototype]]`,这俩个翻译的出处在哪里呢?为什么要用这两个词来区分它们呢?

阅读量:138

点赞量:0

问AI
* 第一个问题:答案是 Teacher.prototype * 第二个问题,国内翻译很多,也有叫做隐式显式的,但以 MDN 文档为准即可 Constructor.prototype 称为函数的自有原型 someObject.proto 称为原型 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/94cab6fdd5b2fa29c09e1ea3c741dfce.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/5ea85a863fcf2cfd7ccdc025d8070b70.png)