“TypeScript 极速梳理”:
TypeScript 是一种强类型的编程语言,它扩展了 JavaScript,为其添加了静态类型检查和其他众多强大的功能。
基础类型:
- number :涵盖整数和浮点数,例如 let num: number = 10; 。
- string :使用双引号或单引号括起来的字符序列,如 let str: string = "Hello, TypeScript!"; 。
- boolean :只有 true 和 false 两个值,例如 let isTrue: boolean = true; 。
- array :可以通过两种方式定义,一种是 let arr: number[] = [1, 2, 3]; ,另一种是使用泛型 let arr: Array<number> = [1, 2, 3]; 。
- tuple :元组允许定义固定长度且不同类型元素的数组,例如 let tuple: [string, number] = ["Hello", 10]; 。
接口(Interface):用于描述对象的形状和结构,定义对象应该具有哪些属性以及属性的类型。例如:
interface Person {
name: string;
age: number;
}
let person: Person = {
name: "John",
age: 30
};
类(Class):
- 支持属性和方法的定义。
- 可以有公共(public)、私有(private)和受保护(protected)的成员。
- 支持继承,通过 extends 关键字实现。
函数:
- 类型注解:可以为参数和返回值添加类型,例如 function add(a: number, b: number): number { return a + b; } 。
- 可选参数:通过在参数名后面添加 ? 来标记,例如 function greet(name?: string) { } 。
- 默认参数:直接为参数赋值,例如 function multiply(a: number, b = 2): number { return a * b; } 。
类型断言:有两种形式,即“尖括号”形式 <type>value 和 as 关键字形式 value as type 。
泛型(Generics):使函数、类或接口能够更灵活地处理不同类型的数据,例如 function identity<T>(arg: T): T { return arg; } 。
模块(Module):
- 通过 import 关键字导入其他模块的功能。
- 使用 export 关键字导出模块中的内容。
装饰器(Decorator):
- 是一种特殊的函数,用于修改类、方法、属性等的行为。
- 常见的装饰器有类装饰器、方法装饰器、属性装饰器等。
类型别名(Type Alias):使用 type 关键字创建新的类型名称,例如 type Point = { x: number; y: number }; 。
TypeScript 的优势:
- 早期的类型错误检测,提高开发效率,减少调试时间。
- 增强代码的自文档性,使代码更易于理解和维护。
- 更好地与现代开发工具集成,提供更智能的代码提示和自动补全。