为什么Student.__proto__输出class People

来源:6-7 补充 - 原型中的 this

起点丶

2021-04-20

以下是浏览器里输入Student.__proto__运行的结果,Student不是没有__proto__么,为什么会输出PeoPle?

> Student.__proto__
> class People {
    constructor(name) {
        this.name = name
    }
    eat() {
        console.log(`${this.name} eat something`)
    }
}
写回答

1回答

双越

2021-04-20

这个逻辑没问题,因为 Student extends People 也是有一层继承关系的。可以子类可以使用父类的方法,例如

class A {}
A.bar = function() { console.log('bar') }

class B extends A {}
B.__proto__.bar() // 'bar'


0
5
慕斯3224979
回复
起点丶
子类的_proto_表示构造函数的继承,总是指向父类;子类prototype的_proto_表示方法的继承,指向父类的prototype
2022-11-10
共5条回复

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程