es6类和继承的实现原理

本文探讨了ES6中类(class)的使用和继承的实现原理,包括类的转换、继承的实现过程及`super`的用法。通过Babel转换,解析了ES6语法糖背后的构造函数、原型链操作,揭示了JavaScript如何实现基于原型的类继承。重点讲解了`_classCallCheck`、`_inherits`等内部函数的作用,以及`super`关键字在调用父类方法和构造函数时的机制。
摘要由CSDN通过智能技术生成

在阅读文章之前,您至少需要对JavaScript原型继承有一定了解,如果觉得有所欠缺,可以先了解下我这篇文章:https://blog.csdn.net/qq_34149805/article/details/86105227

1.es6 class 使用

javascript使用的是原型式继承,我们可以通过原型的特性实现类的继承,
es6为我们提供了像面向对象继承一样的语法糖。

class Parent {
  constructor(a){
    this.filed1 = a;
  }
  filed2 = 2;
  func1 = function(){}
}

class Child extends Parent {
    constructor(a,b) {
      super(a);
      this.filed3 = b;
    }
  
  filed4 = 1;
  func2 = function(){}
}

下面我们借助babel来探究es6类和继承的实现原理。

1.类的实现

转换前:

class Parent {
  constructor(a){
    this.filed1 = a;
  }
  filed2 = 2;
  func1 = function(){}
}

转换后:

function _classCallCheck(instance, Constructor) {
  if (!(ins
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值