TypeScript介绍 | 青训营笔记

60 阅读2分钟

特性比较

同JavaScript相比,Typescript具有以下特性。

首先,Typescript可以看作JavaScript的超集,用于大型项目的代码复杂性。

其次,Typescript是一种强类型的编程语言,支持动态类型以及静态类型。但是JavaScript是一种支持动态类型的弱类型编程语言。

而且,Typescript可以在编译期间发现并纠正错误,而JavaScript只能在运行时发现错误。

Typescript不允许改变变量的数据类型,而在JavaScript中变量可以被赋值为不同类型。

数据类型

Typescript的数据类型分为基础类型,函数类型,接口类型,类以及一些高级类型。

其中基础类型包括布尔类型(boolean),数字类型(number),字符串类型(string),枚举类型(enum),any类型,unknown类型,void类型,never类型,数组类型以及元组类型(tuple)等。数字类型包括整数以及浮点数等,any类型支持赋值以及反向赋值,unknown类型反向赋值只能赋值给unknown类型以及any类型。

Typescript的函数类型需要定义输入参数类型以及输出参数类型。其中输入参数支持可选参数及默认参数,输出类型可以进行自动推断。而且Typescript的函数类型支持函数重载。

Typescript的接口可以具有只读属性,可以描述函数类型及自定义属性。

Typescript的类具有public,private以及protected修饰符,Typescript的抽象类只能被继承不能被实例化,并且抽象方法必须被子类实现。

Typescript的高阶类型包括联合类型,交叉类型,类型断言以及类型别名等。其中类型别名与接口都可以用于定义对象或函数,都允许继承。但是类型别名可以用于基本类型,为了方便使用,在涉及交叉类型时使用。接口可以用于合并重复声明,在涉及类时使用。