📜  typescript 检查类型 - TypeScript (1)

📅  最后修改于: 2023-12-03 15:20:43.413000             🧑  作者: Mango

TypeScript 检查类型

简介

TypeScript 是 JavaScript 的一个强类型超集,它为 JavaScript 添加了静态类型检查。静态类型检查可以帮助程序员在开发过程中发现潜在的类型错误,并提供更强大的智能感知功能。TypeScript 通过在编译时对代码进行类型检查,可以大大减少在运行时发现类型错误的可能性。

类型注解

TypeScript 允许在变量声明、函数参数、函数返回值等地方使用类型注解。类型注解使用 : 符号后跟随类型名称的方式来指定类型信息。以下是一些常见的类型注解示例:

let name: string = "John";
let age: number = 30;
let isStudent: boolean = true;
let fruits: string[] = ["apple", "orange", "banana"];
let person: { name: string, age: number } = { name: "John", age: 30 };
let myFunction: (param: string) => void = (param) => { console.log(param); };
类型推断

TypeScript 也支持类型推断,即根据上下文推断出变量的类型。如果类型推断成功,就不需要显式地给变量加上类型注解。例如:

let name = "John"; // 推断为 string 类型
let age = 30; // 推断为 number 类型
let isStudent = true; // 推断为 boolean 类型
类型检查

当使用 TypeScript 编译器编译 TypeScript 代码时,它会对代码进行类型检查。如果发现了潜在的类型错误,编译器会给出相应的错误提示。例如:

let name: string = "John";
let age: number = "30"; // 错误:无法将类型“string”分配给类型“number”

function greet(name: string): void {
    console.log("Hello, " + name);
}

greet(30); // 错误:参数类型不匹配
类型推断与类型注解的选择

对于简单的变量,使用类型推断可以让代码更加简洁。而对于复杂的数据结构、函数等,使用类型注解可以增加代码的可读性和可维护性。

类型断言

有时候,我们可能比 TypeScript 编译器更了解某个变量的类型。在这种情况下,可以使用类型断言来覆盖编译器的类型推断。类型断言使用尖括号语法或者 as 关键字进行标识。例如:

let name: any = "John";
let length: number = (<string>name).length;
let length: number = (name as string).length;
泛型

TypeScript 支持泛型,它可以让我们在编写函数或类时使用类型参数。泛型可以增强代码的灵活性和复用性。例如:

function identity<T>(input: T): T {
    return input;
}

let result = identity<string>("Hello");
总结

TypeScript 的类型检查功能可以帮助程序员在开发过程中找出潜在的类型错误,并提供更好的代码智能感知。通过类型注解、类型推断、类型检查和类型断言,程序员可以编写更可靠、易于维护的代码。

以上是 TypeScript 检查类型的简介,希望对你有所帮助!