js中class类的super原理
时间: 2024-05-30 22:16:38 浏览: 163
JavaScript ES6 Class类实现原理详解
在 JavaScript 中,当我们使用 `class` 定义一个类时,该类会自动继承自 `Object` 类,并且可以通过 `extends` 关键字继承其他类。当我们使用 `super` 关键字时,实际上是在调用父类的构造函数或方法。
在 ES6 之前,我们可以使用 `Object.getPrototypeOf` 方法获取一个对象的原型,然后使用 `call` 或 `apply` 方法调用父类的方法。而在 ES6 中,我们可以直接使用 `super` 关键字来调用父类的构造函数或方法,而不需要手动获取原型对象。
当我们使用 `super` 关键字调用父类的构造函数时,实际上是在调用父类的 `constructor` 方法,并且会自动传递当前实例的上下文。当我们使用 `super` 关键字调用父类的方法时,实际上是在调用父类原型链上的对应方法,并且会自动绑定当前实例的上下文。
总之,`super` 关键字的原理就是在继承链上调用父类的方法,并且自动绑定当前实例的上下文。
阅读全文