为什么要理解ES6的类和TS类的区别:
ES6 类是 JavaScript 中基于原型的面向对象编程的语法糖,而 TypeScript 类在此基础上增加了强类型检查和其他面向对象编程的特性,使得代码更具可读性、可维护性和可靠性。Typescript里你可以当Java的面向对象看待和用,而ES6还依然是Javascript,ES6的class需要遵循JavaScript的原型法构造函数、示例方法、继承、静态方法等。
typescript中派生类的继承必须调用super,并且只能在super调用之后使用this,这是TS的强制规定,同时super中应传入父类需要的所有参数。
ES6中并没有类的成员修饰符,这也是TS对ES类的一种扩展。类的成员修饰符主要有public、private、protected,readyonly等几种。
TypeScript 可以根据赋值表达式的右侧推断出变量的类型,减少重复的类型注解。
TypeScript 支持类实现接口,通过 implements 关键字来强制类遵循接口的契约。
TypeScript 强调类型的静态检查,可以在类的属性、方法和参数上添加类型注解,以约束数据类型。