ts(typescript) 字类 继承父类 在字类构造函数为啥需要先super()调用 分析

简介: ts(typescript) 字类 继承父类 在字类构造函数为啥需要先super()调用 分析

在今天写代码的过程中,我遇到一个这样的问题,字类继承父类为啥需要在字类的构造函数中使用 super()


// 定义一个A类(父类),这里我以抽象类为例子
abstract class A {
  x: number = 0;
  y: number = 0;
  abstract readonly c: string;
}
// 定义一个B类来继承抽象类,并且实现里面的抽象属性
class B extends A {
  c: string;
  constructor() {
    super()
    this.c = 'abc'
  }
}


问题来了,constructor()里面我为啥需要使用super呢,我字类已经继承了父类,里面的成员属性和方法都继承过来了?


分析问题:

我门先看编译结果:


20210122100802192.png


补充: 父类的this的指向


父类this的指向的是调用者,那个实例调用,就指向哪一个

super() === super.call(this)


总结


搞了半天,对基础知识不牢固导致的。在此记一笔,好记性不如烂笔头

相关文章
|
6月前
|
JavaScript
​​​​Typescript 接口 和继承 数组处理
ts的基础数据类型,可用来处理一般数据,但是碰到后台传入的复杂对象数组的时候,我们可以使用ts中的接口来定义处理
59 0
|
6月前
|
存储 JavaScript 前端开发
TS中 说说数组在TypeScript中是如何工作的?
TS中 说说数组在TypeScript中是如何工作的?
|
6月前
|
JavaScript
【typeScript】搭建TS环境
【typeScript】搭建TS环境
|
2月前
|
JavaScript
typeScript基础(3)_ts函数默认值和可选参数
本文介绍了在TypeScript中如何使用函数的默认值和可选参数。展示了如何为函数参数指定默认值,使得在调用函数时可以省略某些参数,以及如何定义可选参数。
154 2
|
6月前
|
JavaScript
TypeScript【类的继承、访问修饰符、readonly 修饰符、存取器、实例方法与静态方法、实例属性与静态属性、静态属性、抽象类】(三)-全面详解(学习总结---从入门到深化)
TypeScript【类的继承、访问修饰符、readonly 修饰符、存取器、实例方法与静态方法、实例属性与静态属性、静态属性、抽象类】(三)-全面详解(学习总结---从入门到深化)
65 0
|
1月前
|
JavaScript 索引
TypeScript(TS)安装指南与基础教程学习全攻略(二)
TypeScript(TS)安装指南与基础教程学习全攻略(二)
52 0
|
1月前
|
JavaScript 前端开发 安全
TypeScript(TS)安装指南与基础教程学习全攻略(一)
TypeScript(TS)安装指南与基础教程学习全攻略(一)
28 0
|
2月前
|
JavaScript 前端开发
typeScript基础(8)_ts类型断言
本文介绍了TypeScript中的类型断言,它用于在编译时告诉TypeScript某个对象具有特定的类型,即使它看起来不具备。类型断言可以用来访问一个类型上存在而另一个类型上不存在的属性或方法。需要注意的是,类型断言并不会在运行时改变JavaScript的行为,因此如果断言不当,运行时仍然可能出错。文章还提醒避免将类型断言为`any`类型或进行多重断言。
34 1
|
6月前
|
JavaScript
【TS】You are currently running a version of TypeScript which is not officially supported by @typesc
【TS】You are currently running a version of TypeScript which is not officially supported by @typesc
214 2
|
6月前
|
JavaScript 前端开发 开发者
JavaScript(JS)和TypeScript(TS)的区别
JavaScript(JS)和TypeScript(TS)的区别
121 0