TypeScript 基础类型
类型是 TypeScript 的立身之本。本节介绍最常用的基础类型:boolean、number、string、数组、元组、enum、any、void、null、undefined 与 never,并用短示例逐一演示。
布尔类型 boolean
表示真/假,只有 true 与 false 两个值:
let isDone: boolean = false;
let isOk: boolean = true;
console.log(isDone, isOk); // 输出:false true
数字类型 number
TS 只有一种数字类型 number,涵盖整数与小数:
let decimal: number = 6;
let hex: number = 0xf00d; // 十六进制
let binary: number = 0b1010; // 二进制
let float: number = 3.14; // 小数
console.log(decimal, hex, binary, float); // 输出:6 61453 10 3.14
字符串类型 string
用单引号、双引号或反引号(模板字符串)表示文本:
let name: string = "TypeScript";
let slogan: string = '优雅的类型';
let sentence: string = `我爱 ${name}`; // 模板字符串可插值
console.log(sentence); // 输出:我爱 TypeScript
数组类型
元素类型后加 [],或用 Array<类型> 泛型写法:
let nums: number[] = [1, 2, 3];
let names: Array<string> = ["a", "b", "c"];
console.log(nums[0], names[1]); // 输出:1 b
元组类型 tuple
固定长度、每项类型确定的数组:
let person: [string, number] = ["张三", 20];
console.log(person[0], person[1]); // 输出:张三 20
// person[1] = "x"; // 编译报错:number 位置不能放 string
枚举类型 enum
为一组数值取名字,默认从 0 递增:
enum Color { Red, Green, Blue }
let c: Color = Color.Green;
console.log(c); // 输出:1
console.log(Color[1]); // 输出:Green(反向映射)
any 与 unknown
- any:任意类型,放弃检查,慎用。
- unknown:类型未知的安全版,使用时需先收窄。
let anything: any = "随便";
anything = 42; // any 可任意赋值,不报错
let unknownValue: unknown = "未知";
console.log(anything, unknownValue); // 输出:42 未知
void、null、undefined 与 never
void 用于无返回值的函数;null/undefined 表示空值(是所有类型的子类型);never 是永不正常返回(抛异常或死循环)的函数的返回类型:
function warnUser(): void {
console.log("警告"); // 输出:警告
}
function error(): never {
throw new Error("出错了"); // 抛异常,函数无正常返回
}
let n: null = null;
let u: undefined = undefined;
warnUser();
小结
基础类型虽多,但规律清晰:布尔/数字/字符串表达单值,数组/元组表达集合,enum 表达具名常量,any/unknown/void/never 处理边界情形。它们将贯穿后续每一节内容。