TypeScript 入门到实战(二):基础武器库 —— 掌握 TS 核心类型与函数

告别 any,用类型思维重构你的 JavaScript 函数


欢迎回来!在上一篇文章中,我们了解了 TypeScript 为何是 JavaScript 开发者的得力助手,并成功运行了第一个 TS 程序。我们知道了 Why,现在是时候深入学习 How 了。

如果说上一章是我们的“破冰之旅”,那么本章就是我们的“武器库扩充”。我们将一起锻造和掌握 TypeScript 中最核心、最常用的类型“兵器”,并学会如何用它们来武装我们的函数,让代码变得前所未有的坚固。

1. 基础类型 - 你最熟悉的伙伴

TypeScript 的基础类型与 JavaScript 的原始类型几乎一一对应,这让我们的学习曲线非常平滑。

let name: string = "Alice";
let age: number = 30;
let isStudent: boolean = false;
let u: undefined = undefined;
let n: null = null;

这些你都非常熟悉。但 TS 在此基础上提供了一些更精确的表达方式,尤其是对于数组和对象。

数组 (Array)
你想定义一个只包含数字的数组吗?在 JS 中这需要靠约定,但在 TS 中,这是一种规则。

有两种等效的写法:

// 写法一:类型 + 方括号 (推荐,更简洁)
let list: number[] = [1, 2, 3];

// 写法二:使用泛型
let list2: Array<number> = [1, 2, 3];

// 如果尝试添加其他类型的元素,会立刻得到错误提示!
// list.push('4'); // 错误: 类型“string”的参数不能赋给类型“number”的参数。

对象 (Object)
对于 object 类型,我们可以用它来表示一个非原始类型的值。

let person: object = {
    name: "Bob", age: 42 };

// person.name; // 错误: 类型“object”上不存在属性“name”。

你会发现,虽然 person 被正确地类型约束为一个对象,但你无法访问其内部的属性。这是因为 object 类型只告诉 TS “这是一个对象”,但没有描述这个对象的结构。这为我们

你可能感兴趣的:(typescript,javascript,TypeScript,类型,TypeScript,函数,TypeScript,any,TypeScript,教程)