TypeScript基础类型

栏目: typescript 发布时间:2024-11-01

typescript是一种由微软开发的自由和开源的编程语言,它是JavaScript的一个超集,添加了可选的静态类型和基于类的面向对象编程。在TypeScript中,基础类型是其类型系统的基石。了解并熟练掌握这些基础类型,对于编写高效、可维护的TypeScript代码至关重要。

一、布尔值(Boolean)

布尔值表示真(true)或假(false)。在TypeScript中,布尔值是最基础的数据类型之一。

let isDone: boolean = false;

二、数值(Number)

数值类型用于表示整数和浮点数。TypeScript支持二进制、八进制、十进制和十六进制的数值表示。

let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;

三、字符串(String)

字符串类型用于表示文本数据。在TypeScript中,字符串可以使用单引号(')、双引号(")或反引号(`)来定义。反引号还允许嵌入表达式,这种字符串被称为模板字符串。

let name: string = "Alice";
let greeting: string = `Hello, ${name}!`;

四、数组(Array)

数组类型用于表示一组有序的值。在TypeScript中,数组的类型可以是任何基础类型(包括数组类型)或对象类型。

let numbers: number[] = [1, 2, 3];
let mixed: (number | string)[] = [1, 'two', 3];

五、元组(Tuple)

元组类型用于表示一个已知元素数量和类型的数组,各元素的类型不必相同。

let person: [string, number] = ['Alice', 30];

六、枚举(Enum)

枚举类型用于定义一组有名字的常量数值集合。枚举成员可以是数字或字符串。

enum Direction {
    NORTH,
    SOUTH,
    EAST,
    WEST
}

let dir: Direction = Direction.NORTH;

enum Color {
    Red = 'RED',
    Green = 'GREEN',
    Blue = 'BLUE'
}

let color: Color = Color.Red;

七、任意类型(Any)

任意类型表示可以是任何类型。使用any类型可以让变量跳过编译阶段的类型检查,但也会失去TypeScript提供的类型保护。

let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean this time

八、空值(Null 和 Undefined)

在TypeScript中,nullundefined都有各自的类型,分别叫做nullundefined。默认情况下,它们是所有类型的子类型。

let u: undefined = undefined;
let n: null = null;

在启用了严格空检查(--strictNullChecks)的情况下,nullundefined只能被赋值给void或它们自身对应的类型。

let x: number | null = null;
x = 1; // 正确
x = undefined; // 错误,不能将undefined赋值给number | null

九、Void

void类型表示没有任何类型。它通常用于标记没有返回值的函数。

function sayHello(): void {
    console.log("Hello, world!");
}

十、Never

never类型表示的是那些永不存在的值的类型。例如,never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型。

function error(message: string): never {
    throw new Error(message);
}

function infiniteLoop(): never {
    while (true) {}
}

总结

以上就是TypeScript中的基础类型。掌握这些类型对于编写类型安全的TypeScript代码至关重要。通过合理地使用这些类型,可以确保代码的正确性和可维护性。同时,TypeScript还提供了丰富的类型操作符和高级类型,如联合类型、交叉类型、泛型等,这些将进一步增强代码的类型表达能力和灵活性。

本文地址:https://www.tides.cn/p_typescript-basic-types