ES6---类的继承

本文详细介绍了ES6中的类继承机制,包括继承基础、构造函数与super的使用、注意事项、抽象基类的创建、继承内置类型以及类的混入。通过实例解析了如何利用ES6的特性实现类的继承,并强调了组合模式在现代JavaScript开发中的重要性。
摘要由CSDN通过智能技术生成

ES6的继承其实可以说就是对ES5的继承机制的包装和一些优化 , 其背后还是原型链 。

继承基础

ES6 类支持单继承。使用 extends 关键字,就可以继承任何拥有[[Construct]]和原型的对象

它会继承父类上的原型方法 , 静态成员 , 以及 constructor (需要配合 super)

很大程度上,这意味着不仅可以继承一个类,也可以继承普通的构造函数(保持向后兼容)

class Fclass1 {
   }

// 第一种继承方法
class Sclass1 extends Fclass1 {
   
  // ... 子类里的内容
}

// 第二种继承方法
let Sc1 = class extends Fclass1 {
   
  // ... 子类的内容
}

 // 继承普通函数
function fun() {
   }
let Scfun = class extends fun {
   
  // ... 子类的内容
}

let scl = new Sclass1()
let sc = new Sc1()
let scfun = new Scfun

console.log(scl instanceof Fclass1); // ture
console.log(sc instanceof Fclass1); // ture
console.log(scfun instanceof fun); // ture

派生类(子类)都会通过原型链访问到类和原型上定义的方法。this 的值会反映调用相应方法的实例或者类

就是 定义到原型上的方法 , 在实例调用时会返回的 this 是调用者

​ 而静态的方法 ,在调用时 this 返回的是改静态方法所在的类。

class F2 {
   
  Fproto() {
   
    console.log('F2里的原型方法 ,this 为调用者'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无糖的酸奶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值