Typescript | 青训营笔记

72 阅读2分钟

前言:在学这个的时候我同时在学JAVA,时常感觉两者有很多相似性

  1. 枚举类型 声明枚举类型时: 1.没有显式的赋值,那么枚 举值从0递增。 2.显式赋值,那么后面的值从当前值递增。 enum Direction { Up, Down, Left, Right } 值得说明的是,枚举类型的值可以是字符串。枚举可以反向映射,也就是可以key<=>value。
  2. 常量枚举 const a = Direction.Up; 好处是编译成JavaScript后,会直接去除Direction的声明,来提升性能。 枚举合并 可以分开声明枚举,会自动合并。 interface接口可以用来描述参数的结构。接口不会去检查属性的顺序,只要相应的属性存在并且类型兼容即可。 「TypeScript」的类加强了「JavaScript] 中尚未引入的一些类的特性
  3. 抽象类 抽象类做为其它派生类的基类使用,它们一般不会直接被实例化。而且直接实例化会报错。此时需要通过子类继承抽象类。 abstract 关键字是用于定义抽象类和在抽象类内部定义抽象方法。 访问限定符 TypeScript中有三类访问限定符,分别是:public、private、 protected。在 TypeScript 的类中,成员都默认为 public,被此限定符修饰的成员是「可以被外部访问」。 当成员被设置为 private之后,被此限定符修饰的成员是「只可以被类的内部访问」。当成员被设置为 protected之后,被此限定符修饰的成员是「只可以被类的内部以及类的子类访问」。 圈函数 Typescript 为 Javascript 函数添加 了额外的功能。 定义函数类型 一般来说,TypeScript 编译器是能「感知」到函数的类型,这也就是「类型推断」。我们也可以显示的定义函数类型。
  4. 接口 interface只能用于「定义对象类型」,而type的声明方式除了对象之外还可以「定义交叉、联合、原始类型」等,类型声明的方式适用范围显然更加广泛。 但是interface也有其特定的用处: 1.interface方式可以实现接口的 extends 和 implements 2.interface 可以实现接口合并声明
  5. 可辨识联合类型 「字面量类型」和「类型字面量」两者没有什么关系,但是名字很像容易混淆。
  6. 字面量类型 「字面量」(Literal Type)主要分为「真值字面量类型」(boolean literal types),「数字字面量类型」(numeric literaltypes),「枚举字面量类型」(enum literaltypes),「大整数字面量类型」(biglnt literal types)和「字符串字面量类型」 (string literal types)。