类实例实验室

把构造参数放进 `new Student(...)`,看看属性落在哪里,方法又住在哪里。

class Student {
  constructor(name, score) {
    this.name = name;
    this.score = score;
  }

  sayHi() {
    return `你好,我是 ${this.name}`;
  }
}
写入实例

实例自有属性

`constructor` 里的 `this.name` 和 `this.score` 会直接写到每个实例身上。

Object.keys(instance)

a

b

两个实例的隐式原型都指向

Student.prototype

原型上的方法

方法定义在 `class` 里,但不会复制到每个实例的自有属性中;实例需要调用时,会沿着原型去找。