TS和JS的区别
- JS是动态类型,弱类型语言
- TS是静态类型,弱类型语言
静态类型
可读性增强、可维护性增强,多人合作的大型项目中,获得更好的稳定性和开发效率
JS的超集
- 包含与兼容所有JS特性,支持共存
- 支持渐进式引入与审计
编辑器推荐
VSCode
基本语法
JavaScript 和 TypeScript 中存在三个主要原语。
boolean- 真值或假值number- 整数和浮点值string- 像“TypeScript Rocks”这样的文本值
创建变量时,TypeScript 主要有两种分配类型的方式:
- 明确的
-
let firstName: string = "Dylan"; - 隐含的
-
let firstName = "Dylan";
特殊类型
any是一种禁用类型检查并有效地允许使用所有类型的类型。
unknown是 . 的类似但更安全的替代方法any。
unknown最好在不知道输入的数据类型时使用。要稍后添加类型,您需要强制转换它。转换是当我们使用“as”关键字来表示属性或变量属于转换类型时。
never每当它被定义时有效地抛出一个错误。
undefined和null是分别引用 JavaScript 原语undefined和的类型null 。
TypeScript 允许类型与使用它们的变量分开定义。 别名和接口允许类型在不同的变量/对象之间轻松共享。类型别名允许使用自定义名称(别名)定义类型。
类型别名可用于原始string类型或更复杂的类型,例如objectsand arrays
当一个值可以是多个单一类型时,使用联合类型。
例如当属性为string或是number。
TypeScript 中有三个主要的可见性修饰符。
public- (默认)允许从任何地方访问类成员private- 只允许从类中访问类成员protected- 允许从自身和继承它的任何类访问类成员,这在下面的继承部分中有介绍
泛型
泛型允许创建“类型变量”,这些变量可用于创建不需要显式定义它们使用的类型的类、函数和类型别名。
泛型使编写可重用代码变得更加容易。