返回

复杂数据类型和类型推论断言

前端

在TypeScript中,数据类型可以分为简单数据类型和复杂数据类型。简单数据类型包括数字、字符串和布尔值。复杂数据类型包括数组、对象和函数。

1. 复杂数据类型

1.1 数组

数组是一种有序的数据结构,可以存储相同类型的值。数组可以使用方括号([])表示,数组中的元素之间使用逗号(,)分隔。

const numbers: number[] = [1, 2, 3, 4, 5];
const strings: string[] = ['a', 'b', 'c', 'd', 'e'];
const booleans: boolean[] = [true, false, true, false, true];

1.2 对象

对象是一种无序的数据结构,可以存储不同类型的值。对象可以使用花括号({})表示,对象中的属性之间使用逗号(,)分隔。

const person = {
  name: 'John Doe',
  age: 30,
  gender: 'male'
};

1.3 函数

函数是一种可以执行特定任务的代码块。函数可以使用function声明,函数的参数可以使用圆括号()表示,函数的返回值可以使用冒号(:)和类型注解表示。

function sum(a: number, b: number): number {
  return a + b;
}

2. 类型推论

TypeScript支持类型推论,可以根据变量的值自动推断出其类型。如果变量没有显式指定类型,那么TypeScript会根据变量的值自动推断出其类型。

const num = 10; // TypeScript自动推断num的类型为number
const str = 'Hello, world!'; // TypeScript自动推断str的类型为string
const bool = true; // TypeScript自动推断bool的类型为boolean

3. 类型断言

TypeScript支持类型断言,可以强制将变量的类型转换为指定的类型。类型断言可以使用尖括号()表示。

const num = <number>'10'; // 将字符串'10'转换为数字类型
const str = <string>10; // 将数字10转换为字符串类型
const bool = <boolean>'true'; // 将字符串'true'转换为布尔类型

4. 总结

复杂数据类型是TypeScript中非常重要的一个概念。数组、对象和函数都是复杂数据类型。TypeScript支持类型推论,可以根据变量的值自动推断出其类型。此外,TypeScript还支持类型断言,可以强制将变量的类型转换为指定的类型。