返回
TypeScript 入门指南 - 类型探索
前端
2024-01-13 12:23:41
TypeScript 扩展了 JavaScript 的类型系统,为 JavaScript 提供了静态类型检查。通过在 TypeScript 中定义变量的类型,我们可以让编译器检查变量的值是否符合类型要求,从而提高代码的健壮性和可维护性。
TypeScript 中的基础数据类型包括数字(number)、字符串(string)、布尔值(boolean)、null 和 undefined。除此之外,TypeScript 还支持联合类型(union type)、类型别名(type alias)、接口(interface)、类(class)和泛型(generics)等高级类型。
联合类型允许一个变量可以存储不同类型的值。例如,我们可以定义一个联合类型变量 age,它可以存储数字或字符串:
let age: number | string;
age = 20; // OK
age = '20'; // 也OK
类型别名允许我们为一个类型定义一个别名。例如,我们可以定义一个别名叫 MyString,它表示字符串类型:
type MyString = string;
let name: MyString;
name = 'John Doe'; // OK
接口允许我们定义一组属性及其类型。例如,我们可以定义一个接口叫 Person,它包含 name 和 age 属性:
interface Person {
name: string;
age: number;
}
let person: Person;
person = { name: 'John Doe', age: 20 }; // OK
类允许我们定义对象类型。例如,我们可以定义一个类叫 Person,它包含 name 和 age 属性,并且具有一个 getName 方法:
class Person {
name: string;
age: number;
getName() {
return this.name;
}
}
let person = new Person();
person.name = 'John Doe';
person.age = 20;
console.log(person.getName()); // 'John Doe'
泛型允许我们定义通用的类型,这些类型可以适用于多种不同的数据类型。例如,我们可以定义一个泛型函数叫 sum,它可以计算两个数字或两个字符串的和:
function sum<T>(a: T, b: T): T {
return a + b;
}
console.log(sum(1, 2)); // 3
console.log(sum('a', 'b')); // 'ab'
TypeScript 中的类型系统非常强大,它可以帮助我们写出更健壮的代码,减少运行时错误。通过本文的介绍,您应该已经对 TypeScript 中的类型有了一个基本的了解。