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 处理边界情形。它们将贯穿后续每一节内容。

笔记加载中…