TypeScript 内置数据类型详解
TypeScript 是 JavaScript 的一个超集,它在 JavaScript 的基础上添加了静态类型系统。在 TypeScript 中,我们可以使用多种内置数据类型来定义变量、函数参数和返回值的类型。本文将详细介绍 TypeScript 的内置数据类型,包括基本数据类型、对象类型、特殊类型等,并通过示例代码片段帮助读者理解每种类型的用法和特性。
1. 基本数据类型
1.1. number
number
类型表示数字,包括整数和浮点数。在 TypeScript 中,所有数字都是浮点数,不存在整数和浮点数之分。
let num: number = 10;
let pi: number = 3.14;
1.2. string
string
类型表示字符串,可以包含任意字符。
let str: string = 'hello';
let template: string = `Hello, ${
name}!`;
1.3. boolean
boolean
类型表示布尔值,只有两个可能的值:true
和 false
。
let isDone: boolean = true;
let isLogin: boolean = false;
1.4. null 和 undefined
null
和 undefined
分别表示空值和未定义值。
let n: null = null;
let u: undefined = undefined;
1.5. void
void
类型表示没有任何值,通常用于函数没有返回值的情况。
function log(message: string): void {
console.log(message);
}
2. 对象类型
2.1. object
object
类型表示非原始类型,即除了 number
、string
、boolean
、null
和 undefined
之外的所有类型。
let obj: object = {
name: 'Alice', age: 30 };
2.2. Array
Array
类型表示数组,可以包含任意类型的元素。
let numbers: number[] = [1, 2, 3, 4, 5];
let names: string[] = ['Alice', 'Bob', 'Charlie'];
2.3. Tuple
Tuple
类型表示元组,允许表示一个固定长度的数组,各元素的类型不必相同。
let person: [string, number] = ['Alice', 30];
2.4. Function
Function
类型表示函数。
let add: (x: number, y: number) => number = function(x: number, y: number): number {
return x + y;
}
2.5. Class
Class
类型表示类。
class Person {
name: string;
age: number;
}
let p: Person = new Person();
3. 特殊类型
3.1. any
any
类型表示任意类型,可以赋值给任何变量,允许进行任意操作,但是丢失了类型检查的好处。
let value: any = 10;
value = 'hello';
value = true;
3.2. never
never
类型表示永远不会出现的值的类型,通常用于抛出异常或永远不会返回的函数。
function throwError(message: string): never {
throw new Error(message);
}
function infiniteLoop(): never {
while (true) {
}
}
3.3. unknown
unknown
类型表示未知类型,与 any
类似,但是在赋值给其他变量之前需要进行类型检查或类型断言。
let value: unknown = 10;
let num: number = value as number; // 类型断言
4. 枚举类型
Enum
类型表示一组命名的常数。
enum Color {
Red,
Green,
Blue
}
let color: Color = Color.Red;
5. 类型别名
Type
关键字可以用来定义类型别名,简化复杂类型的声明。
type Point = {
x: number;
y: number;
};
let p: Point = {
x: 10, y: 20 };
6. 字面量类型
字面量类型允许指定一个具体的值作为类型。
let status: 'success' | 'error' = 'success';
7. 类型断言
类型断言允许将一个变量指定为特定类型。
let value: any = 'hello';
let strLength: number = (value as string).length;
总结
TypeScript 提供了丰富的内置数据类型,包括基本数据类型、对象类型、特殊类型等。开发者可以根据实际需求选择合适的类型来定义变量、函数参数和返回值的类型,从而提高代码的可读性和可
维护性。熟练掌握 TypeScript 的内置数据类型对于编写健壮的 TypeScript 代码至关重要,希望本文能够帮助读者更好地理解和应用 TypeScript 的数据类型系统。