TypeScript | 青训营笔记

118 阅读4分钟

TypeScript是什么?

TypeScript是一种由微软开发的开源编程语言,它是JavaScript的一个超集,通过添加静态类型和其他新特性来改善JavaScript的开发体验。TypeScript最初发布于2012年,它的目标是提高JavaScript的可维护性和可扩展性。自发布以来,它已经成为许多项目中的首选语言,包括Angular和React等流行的框架。

TypeScript的优点

1.静态类型检查:TypeScript的主要优点之一是它的静态类型检查功能。静态类型检查可以帮助开发人员在编码时捕获错误,并提供更好的代码提示和自动补全功能。这有助于提高代码的可读性和可维护性,降低错误率。
2.更好的可读性:TypeScript中的类型注释可以提高代码的可读性和可理解性。这有助于开发人员更好地理解代码的含义和目的。
3.更好的可扩展性:TypeScript的静态类型检查可以帮助开发人员更轻松地重构代码和添加新功能。这可以支持更大规模的项目和更快的迭代速度。
4.良好的兼容性:TypeScript是由JavaScript开发的超集,因此它与现有的JavaScript库和框架兼容。这使得迁移到TypeScript相对容易,而不需要大量的代码更改或重构。<br>

Typescript的静态类型

Typescript的静态类型可以在编译时检查类型错误,避免在运行时出现类型错误。这可以提高程序的可维护性和可读性,并且可以帮助开发人员更快地找到错误。TypeScript支持所有JavaScript类型,例如数字、字符串、数组、对象和布尔值,还支持高级类型,例如枚举、元组、联合类型和交叉类型。

1.类型注解

在Typescript 中,变量的类型可以通过类型注解来指定。类型注解是一种在变量或函数参数后面用冒号指定类型的语法。例如:
let age: number= 18;
该代码定义了一个名为age的变量,并将其类型设置为number。这意味着age只能存储数字类型的值。

2.类型推断

在某些情况下,Typescript可以自动推断变量的类型,而不需要显式地指定类型注解。例如:
let name = "aaa";
该代码定义了一个名为name的变量,并将其值设置为字符串类型的"aaa"。Typescript会自动推断出变量的类型为字符串类型。

3.类型别名

Typescript允许开发者定义类型别名,以便在代码中重复使用相同的类型。类型别名是一种给类型起别名的语法。例如:
type Point= {x: number;y: number;};
该代码定义了一个名为Point的类型别名,并将其定义为一个具有xy属性的对象。

4.接口

接口是一种用于定义对象类型的语法。它们描述了对象的结构以及每个属性的类型。例如:

interface Person {
    name: string;
    age: number;
}

该代码定义了一个名为Person的接口,并将其定义为具有nameage属性的对象。这些属性的类型分别为字符串和数字。

5.泛型

泛型是—种允许开发者在编写代码时定义类型参数的语法。它们允许在编写函数或类时使用不同类型的参数。例如:

function identity<T>(arg: T): T{
    return arg;
}

该代码定义了一个名为identity的函数,并将其定义为一个泛型函数。该函数接受一个类型为T的参数,并返回一个类型为T的值。

TypeScript面向对象编程

TypeScript还提供了面向对象编程的特性,例如类、接口和继承。这使得开发人员可以更好地组织代码,并且可以更容易地重用代码。Typescript的类支持访问修饰符,例如publicprivateprotected,可以控制类的成员的可见性。TypeScript的接口可以描述对象的形状,并且可以用于类型检查和类型推断。

TypeScript模块化编程

TypeScript还支持模块化编程,可以使用importexport关键字导入和导出模块。这可以帮助开发人员更好地组织代码,并且可以更容易地重用代码。TypeScript支持多种模块系统,例如CommonJS、AMD和ES6模块系统。