基本类型与类型注解
约 435 字大约 1 分钟
布欧-Lewyon
2026-05-16
首页 › TypeScript › 基础入门 › 基本类型与类型注解
基本类型
// boolean
let isDone: boolean = false;
// number(整数 + 浮点数 + 进制)
let age: number = 28;
let price: number = 19.99;
let hex: number = 0xf00d;
// string
let name: string = '张三';
let template: string = `Hello, ${name}!`;
// null / undefined
let n: null = null;
let u: undefined = undefined;
// void(函数无返回值)
function log(msg: string): void {
console.log(msg);
}
// never(函数永远不会返回)
function throwError(msg: string): never {
throw new Error(msg);
}
function infiniteLoop(): never {
while (true) {}
}
// any(关闭类型检查,尽量少用)
let loose: any = 4;
loose = '字符串';
loose = true; // 任意赋值,无检查
// unknown(安全的 any)
let notSure: unknown = 4;
notSure = '字符串';
// notSure.toUpperCase(); // ❌ 报错,unknown 不能直接调用方法
if (typeof notSure === 'string') {
notSure.toUpperCase(); // ✅ 类型收窄后可用
}类型注解
// 变量
let count: number = 0;
// 函数参数 + 返回值
function add(a: number, b: number): number {
return a + b;
}
// 箭头函数
const multiply = (a: number, b: number): number => a * b;数组与元组
// 数组
let list1: number[] = [1, 2, 3];
let list2: Array<string> = ['a', 'b', 'c'];
// 元组(固定长度、不同类型)
let tuple: [string, number, boolean] = ['张三', 28, true];
tuple[0]; // string
// tuple[3]; // ❌ 越界访问报错
// 元组可选元素
let opt: [string, number?] = ['张三'];bigint / symbol
// BigInt(ES2020)
const big: bigint = 12345678901234567890n;
// Symbol
const sym1: symbol = Symbol('unique');
const sym2: symbol = Symbol('unique');
// sym1 === sym2 // false(始终唯一)小结
| 类型 | 说明 |
|---|---|
number / string / boolean | 基本类型 |
null / undefined | 空值 |
void | 无返回值 |
never | 永不返回 |
any | 关闭检查(❌ 慎用) |
unknown | 安全版 any(需收窄后使用) |
T[] / Array<T> | 数组 |
[string, number] | 元组 |
上一节:TypeScript 概述与安装 下一节:类型推断与类型断言
