第2章:基础类型与变量
2.1 基本类型(number, string, boolean 等)
TypeScript 作为 JavaScript 的超集,提供了完整的静态类型系统。基础类型是构建复杂类型的基石,以下是 TypeScript 中最常用的基本类型:
1. number 类型
表示所有数字(整数、浮点数、二进制等):
let decimal: number = 42;
let hex: number = 0xf00d; // 十六进制
let binary: number = 0b1010; // 二进制
let octal: number = 0o744; // 八进制
2. string 类型
表示文本数据,支持模板字符串:
let name: string = "TypeScript";
let sentence: string = `Hello, ${name}!`; // 模板字符串
3. boolean 类型
表示逻辑值(true/false):
let isDone: boolean = false;
4. null 和 undefined 类型
null: 表示空值undefined: 表示未定义的值
它们是所有类型的子类型(当开启strictNullChecks时会被严格限制)
let u: undefined = undefined;
let n: null = null;
5. void 类型
表示没有返回值的函数:
function warnUser(): void {
console.log("This is a warning");
}
6. 数组类型
两种定义方式:
let list1: number[] = [1, 2, 3]; // 元素类型+方括号
let list2: Array<number> = [1, 2, 3]; // 泛型语法
7. 元组(Tuple)类型
表示已知元素数量和类型的数组:
let tuple: [string, number];
tuple = ["hello", 42]; // 正确
tuple = [42, "hello"]; // 错误:类型不匹配
8. 枚举(enum)类型
(注:将在第8章详细讲解)
enum Color { Red, Green, Blue }
let c: Color = Color.Green;
类型检查示例
function printId(id: number | string) {
if (typeof id === "number") {
console.log(`Your ID is a number: ${id}`);
} else {
console.log(`Your ID is a string: ${id}`);
}
}
最佳实践提示:
- 优先使用
let和const代替var(详见2.4节)- 在开启
strict模式时,TypeScript 会强制类型检查更严格- 使用
tsc --init生成的默认配置已包含推荐类型规则
