📅  最后修改于: 2023-12-03 15:20:43.448000             🧑  作者: Mango
在 TypeScript 中,我们可以使用类型注解来指定变量的类型。这些类型注解可以帮助我们在编译时捕获一些常见的错误,并提供更好的编码体验和自动补全功能。
以下是 TypeScript 中常用的类型编号范围及其说明:
string
表示字符串类型。
let str: string = "Hello, World!";
number
表示数字类型。
let num: number = 42;
boolean
表示布尔类型。
let bool: boolean = true;
symbol
表示唯一不可变的值,通常用作对象属性的键。
const sym: symbol = Symbol("key");
null
表示空值或不存在的对象。
let n: null = null;
undefined
表示未定义的值。
let undef: undefined = undefined;
void
表示没有返回值的函数。
function logMessage(): void {
console.log("Hello, World!");
}
object
表示非原始类型,即除原始类型外的类型。
let obj: object = { key: "value" };
any
表示任意类型,可以忽略类型检查。
let anyValue: any = "Hello, World!";
unknown
与 any
类似,但是类型安全。在使用 unknown
类型的变量前,需要先进行类型检查。
let unknownValue: unknown = "Hello, World!";
if (typeof unknownValue === "string") {
console.log(unknownValue.toUpperCase());
}
never
表示永远不会发生的值的类型,通常用于描述抛出异常或无法正常终止的函数返回类型。
function throwError(message: string): never {
throw new Error(message);
}
function infiniteLoop(): never {
while (true) {
// do something
}
}
Array
表示一个元素为指定类型的数组。
let arr: Array<string> = ["Hello", "World"];
或者可以使用 []
简写语法:
let arr: string[] = ["Hello", "World"];
[T1, T2, ...]
表示一个固定长度和类型的数组。
let tuple: [number, string] = [42, "Hello"];
console.log(tuple[0]); // 42
console.log(tuple[1]); // Hello
(args: Types) => ReturnType
表示函数的类型,包括参数类型和返回类型。
type AddFunc = (a: number, b: number) => number;
const add: AddFunc = (a, b) => {
return a + b;
}
console.log(add(1, 2)); // 3
class
表示一个类的类型。
class Person {
constructor(public name: string, public age: number) {}
sayHello() {
console.log(`Hello, my name is ${this.name} and I'm ${this.age} years old.`);
}
}
let person: Person = new Person("Alice", 18);
person.sayHello(); // Hello, my name is Alice and I'm 18 years old.
提示:以上只是 TypeScript 类型系统中的一些常见类型,还有很多其他高级的类型和特性可以使用。可以参考官方文档以获得更详细的信息。