基础入门
基础类型注解
掌握 string、number、boolean、array、object 等基础类型
基础类型注解
TypeScript 的核心就是为变量、参数、返回值添加类型标注。
学完本章你将: 掌握 string、number、boolean、array、object 等基础类型。
基本类型
typescript
// 字符串
let name: string = "Alice";
let greeting = `Hello, ${name}`;
// 数字(整数和浮点数都是 number)
let age: number = 25;
let price: number = 99.99;
let hex: number = 0xff;
// 布尔
let isActive: boolean = true;
// null 和 undefined
let u: undefined = undefined;
let n: null = null;
数组类型
typescript
// 两种写法
let list1: number[] = [1, 2, 3];
let list2: Array<number> = [1, 2, 3]; // 泛型写法
// 混合类型数组
let mixed: (string | number)[] = [1, "hello", 2];
// 只读数组
let readonly: ReadonlyArray<number> = [1, 2, 3];
// readonly.push(4); // ❌ 不可修改
对象类型
typescript
// 内联对象类型
let user: { name: string; age: number } = {
name: "Alice",
age: 25,
};
// 可选属性
let config: { url: string; timeout?: number } = {
url: "https://api.example.com",
// timeout 可选
};
// 索引签名 —— 任意键
let dict: { [key: string]: number } = {
apple: 3,
banana: 5,
};
类型推断
TypeScript 能自动推断类型,不需要处处标注:
typescript
// 推断为 string
let name = "Alice";
// 推断为 number[]
let scores = [90, 85, 92];
// 推断为 { name: string; age: number }
let person = { name: "Bob", age: 30 };
// 函数返回值也能推断
function add(a: number, b: number) {
return a + b; // 推断返回 number
}
any 与 unknown
typescript
// any —— 关闭类型检查(尽量避免)
let data: any = 42;
data = "hello"; // 可以
data.foo(); // 不报错,但运行时报错!
// unknown —— 安全的 any
let input: unknown = 42;
// input.toFixed(); // ❌ 必须先用类型守卫
if (typeof input === "number") {
console.log(input.toFixed(2)); // ✅
}