ES6 的 class 类和Typescript 的 class 类的区别

前言

为什么要理解ES6的类和TS类的区别:

  1. 都是面向对象的开发
  2. 它们看着很像
  3. 但是它们不一样
  4. 学习明白了,避免混用

ES6 类是 JavaScript 中基于原型的面向对象编程的语法糖,而 TypeScript 类在此基础上增加了强类型检查和其他面向对象编程的特性,使得代码更具可读性、可维护性和可靠性。Typescript里你可以当Java的面向对象看待和用,而ES6还依然是JavascriptES6的class需要遵循JavaScript的原型法构造函数、示例方法、继承、静态方法等

1. 继承

typescript中派生类的继承必须调用super,并且只能在super调用之后使用this,这是TS的强制规定,同时super中应传入父类需要的所有参数。

2. 修饰符

ES6中并没有类的成员修饰符,这也是TS对ES类的一种扩展。类的成员修饰符主要有public、private、protected,readyonly等几种。

3. 类型推断

TypeScript 可以根据赋值表达式的右侧推断出变量的类型,减少重复的类型注解。

4. 接口实现

TypeScript 支持类实现接口,通过 implements 关键字来强制类遵循接口的契约。

5. 类型注解

TypeScript 强调类型的静态检查,可以在类的属性、方法和参数上添加类型注解,以约束数据类型。

你可能感兴趣的:(前端进阶,es6,typescript,前端)