在本文中,我们将潜入打字稿类型,探索内置类型,高级类型概念和示例。让我们开始吧! ð
基本类型ð
1.Cold0ð¢
表示数字值等数字值和浮点数。
let age: number = 25;
2. string
-
表示通常用单引号或双引号包装的文本数据。
let name: string = "Alice";
3. boolean
代表真或错误的值。
let isActive: boolean = true;
4.Kound3ð
一种允许动态类型的灵活类型,类似于普通的JavaScript。
let dynamicValue: any = 42;
dynamicValue = "Hello!";
5.COLD4ð«!
用于不返回值的函数。
function logMessage(): void {
console.log("Logged!");
}
6. null
和undefined
ð«
表示没有值。它们是独立的类型,可以分配给各自的类型。
let maybeNull: null = null;
let maybeUndefined: undefined = undefined;
7. never
表示永远不会发生的值,通常用于抛出异常或输入无限循环的函数。
function throwError(message: string): never {
throw new Error(message);
}
8.对象ð
代表非重要性类型,即,任何不是数字,字符串,布尔值,null或不确定的东西。
let person: object = { name: "Bob", age: 30 };
or
let person: Record<string, string> = { name: "Bob" };
or
let person: { name: string } = { name: "Bob" };
9.symbol
ð
创建独特而不可变的值,通常用作对象属性密钥。
const uniqueKey: symbol = Symbol("unique");
10.枚举类型(enum
)ð
一组命名的常数值,非常适合提高代码可读性。
enum Color {
Red,
Green,
Blue,
}
let chosenColor: Color = Color.Green;
11.元组类型ð
允许定义具有固定类型和已知长度的数组。
let person: [string, number] = ["Alice", 25];
12.数组类型ð
表示特定类型的数组。
let numbers: number[] = [1, 2, 3, 4, 5];
13.类型别名â
为类型创建自定义名称,使复杂类型更可读。
type Point = { x: number; y: number };
let coordinates: Point = { x: 10, y: 20 };
高级类型ð
工会类型ð
使用|
运算符组合多种类型。
let value: string | number = "Hello";
value = 42;
交叉点类型
将多种类型组合成一种,导致每种类型的所有属性都存在。
type Nameable = { name: string };
type Ageable = { age: number };
type Person = Nameable & Ageable;
let person: Person = { name: "Alice", age: 30 };
示例ð
1.功能签名
使用类型定义函数签名。
type MathOperation = (a: number, b: number) => number;
const add: MathOperation = (a, b) => a + b;
2.不同类型ð
使用类型工会处理不同的数据结构。
type DataStructure = string[] | number[] | object[];
function printLength(data: DataStructure) {
console.log(data.length);
}