Typescript | 青训营笔记

74 阅读2分钟

TS和JS的区别

  • JS是动态类型,弱类型语言
  • TS是静态类型,弱类型语言

静态类型

可读性增强、可维护性增强,多人合作的大型项目中,获得更好的稳定性和开发效率

JS的超集

  • 包含与兼容所有JS特性,支持共存
  • 支持渐进式引入与审计

编辑器推荐

VSCode

基本语法

JavaScript 和 TypeScript 中存在三个主要原语。

  • boolean- 真值或假值
  • number- 整数和浮点值
  • string- 像“TypeScript Rocks”这样的文本值

创建变量时,TypeScript 主要有两种分配类型的方式:

  • 明确的 -let firstName: string = "Dylan";
  • 隐含的 - let firstName = "Dylan";

特殊类型 any是一种禁用类型检查并有效地允许使用所有类型的类型。 unknown是 . 的类似但更安全的替代方法anyunknown最好在不知道输入的数据类型时使用。要稍后添加类型,您需要强制转换它。转换是当我们使用“as”关键字来表示属性或变量属于转换类型时。 never每当它被定义时有效地抛出一个错误。 undefinednull是分别引用 JavaScript 原语undefined和的类型null 。

TypeScript 允许类型与使用它们的变量分开定义。 别名和接口允许类型在不同的变量/对象之间轻松共享。类型别名允许使用自定义名称(别名)定义类型。

类型别名可用于原始string类型或更复杂的类型,例如objectsand arrays

当一个值可以是多个单一类型时,使用联合类型。

例如当属性为string或是number

TypeScript 中有三个主要的可见性修饰符。

  • public- (默认)允许从任何地方访问类成员
  • private- 只允许从类中访问类成员
  • protected- 允许从自身和继承它的任何类访问类成员,这在下面的继承部分中有介绍

泛型

泛型允许创建“类型变量”,这些变量可用于创建不需要显式定义它们使用的类型的类、函数和类型别名。

泛型使编写可重用代码变得更加容易。