类型推断
TypeScript 可以自动推断变量类型:
let name = "TypeScript"; // 推断为 string
let count = 42; // 推断为 number
let isActive = true; // 推断为 boolean
泛型使用
泛型让函数和类可以适用于多种类型:
function identity<T>(arg: T): T {
return arg;
}
// 使用
let output = identity<string>("myString");
let outputNum = identity<number>(100);
类型守卫
类型守卫用于在运行时检查类型:
function isString(value: unknown): value is string {
return typeof value === 'string';
}
function processValue(value: string | number) {
if (isString(value)) {
// TypeScript 知道这里 value 是 string
console.log(value.toUpperCase());
} else {
// 这里 value 是 number
console.log(value.toFixed(2));
}
}
实用工具类型
TypeScript 提供了许多内置的工具类型:
interface User {
id: number;
name: string;
email: string;
age: number;
}
// 只读类型
type ReadonlyUser = Readonly<User>;
// 部分类型
type PartialUser = Partial<User>;
// 选择属性
type UserPreview = Pick<User, 'id' | 'name'>;
// 排除属性
type UserWithoutEmail = Omit<User, 'email'>;
结语
掌握这些 TypeScript 技巧,可以让你的代码更加健壮和可维护。