TypeScript快速入门:30分钟上手指南

Spring打工人
2025-06-25 14:04
阅读 570

开篇:TypeScript 是什么,为什么你需要它?

开篇:TypeScript 是什么,为什么你需要它?

如果你是刚入门前端开发的初学者,可能听说过 JavaScript,它是网页开发中最基础、也是最核心的编程语言。但是你有没有遇到过这样的问题:

  • 明明写得很认真,但代码运行出错却找不着原因;
  • 合作开发时别人写的函数看不懂,不知道该传什么参数;
  • 写了上千行代码后,突然改一个地方就全乱了。

这时候,就轮到我们的主角——TypeScript 登场了!

TypeScript = JavaScript + 类型系统

简单来说,TypeScript 是 JavaScript 的“加强版”,它在保留 JavaScript 全部功能的基础上,增加了一个叫“类型检查”的功能。这个功能就像是一台提前帮你查错的机器,在你写代码的时候就能告诉你哪里可能会出问题,而不是等程序跑起来才发现。

举个例子:

function sayHello(name) {
  console.log("Hello, " + name);
}
sayHello(123); // 这里传了个数字,但函数本意是接收字符串

JavaScript 不会报错,但 TypeScript 能提前发现问题,提示你 name 应该是一个字符串而不是数字。

是不是很贴心?接下来我们就开始一步步学习 TypeScript,并动手做一个小项目练手。


环境准备:搭建你的第一个 TypeScript 开发环境

环境准备:搭建你的第一个 TypeScript 开发环境

要写 TypeScript 代码,我们需要几个工具来运行和编译它。别担心,这些步骤其实很简单。

第一步:安装 Node.js 和 npm

✅ 安装包下载地址:https://nodejs.org/
推荐选择长期支持版(LTS)

安装完成后,在终端输入下面命令查看是否安装成功:

node -v    # 查看 Node.js 版本
npm -v     # 查看 npm 版本

如果都能显示版本号,说明安装成功啦!


第二步:创建项目文件夹

在你喜欢的地方新建一个文件夹,比如叫做 my-ts-project,然后进入该目录:

mkdir my-ts-project
cd my-ts-project

初始化 npm(用于管理依赖):

npm init -y

第三步:安装 TypeScript 及编译器

运行以下命令安装 TypeScript:

npm install typescript --save-dev

接着安装 TypeScript 编译器(tsc),它可以将 .ts 文件转成浏览器能识别的 .js 文件:

npm install ts-node --save-dev

为了方便调试,我们也安装一个运行脚本的工具:

npm install nodemon --save-dev

第四步:配置 TypeScript

运行以下命令生成配置文件 tsconfig.json

npx tsc --init

这会在当前目录下自动生成一个配置文件,你可以先不用管里面的内容。


第五步:添加启动脚本

打开 package.json 文件,在 "scripts" 中添加以下内容:

"start": "ts-node index.ts"

这样,你就可以用下面这条命令运行你的 TypeScript 文件了:

npm start

验证一下是否一切正常

在项目根目录下创建一个 index.ts 文件,内容如下:

console.log("Hello, TypeScript!");

然后运行命令:

npm start

如果终端输出了:

Hello, TypeScript!

恭喜!你的 TypeScript 开发环境已经搭建成功了 😄


核心概念:用通俗的语言讲明白 TypeScript 基础知识

现在我们开始讲解一些 TypeScript 的基本概念,每个知识点都会配一个简单的示例,确保你能轻松理解。


1. 类型注解:告诉 TypeScript 你要放什么进去

JavaScript 的变量可以存任何类型的值,比如数字、字符串、对象……但 TypeScript 更“严谨”一点,它希望你一开始就告诉它:“这个变量是用来干嘛的”。

示例:

let age: number = 25;
let name: string = "Tom";
let isStudent: boolean = true;

这里给变量加了类型注解(: number, : string, : boolean)。如果不这样做,TypeScript 也能自动推断出来,但显式标注更清晰。

小贴士:如果你试图把字符串赋给 age,TypeScript 就会报错提醒你。


2. 函数参数与返回值的类型声明

我们在定义函数时也可以加上类型信息。

示例:

function sum(a: number, b: number): number {
  return a + b;
}

console.log(sum(3, 4)); // 正确
console.log(sum('3', 4)); // 报错:参数 'a' 不是 number 类型

3. 使用联合类型处理多种可能性

有时候一个变量可能是几种类型之一,比如可能是数字也可能是字符串。

这时我们可以用联合类型符号 | 来表示。

示例:

let score: number | string = 90;
score = "A"; // 也允许字符串

4. 数组的类型定义

数组也有类型之分。可以使用两种方式来标注数组类型:

  • 元素类型[]
  • Array<元素类型>

示例:

let names: string[] = ["Alice", "Bob"];
let numbers: Array<number> = [1, 2, 3];

5. 对象类型:明确结构

对象类型让你可以在定义对象的同时注明每个字段的类型。

示例:

let person: { name: string; age: number } = {
  name: "Tom",
  age: 20
};

如果缺少某个属性或类型不对,TypeScript 也会提醒你。


6. 类型别名(type)

为了避免重复写复杂的类型定义,可以使用 type 来为类型起个别名。

示例:

type Person = {
  name: string;
  age: number;
};

let user: Person = {
  name: "Jerry",
  age: 22
};

7. any 与 unknown:尽量避免使用

有些时候你会拿到不确定的数据类型,可以用 anyunknown

但要注意的是:

  • any:相当于完全放弃类型检查(不推荐)
  • unknown:虽然不确定类型,但在使用前必须进行类型判断(推荐做法)

新手上路常问的问题:

Q1:我能不能不写类型?

当然可以,但那就失去了 TypeScript 最大的优势。类型越明确,错误就越少。

Q2:我之前学过 JavaScript,是不是很多语法都一样?

是的,几乎一模一样。只是多了一些类型相关的语法。


实战项目:写一个简单的天气查询小程序

我们现在来实战写一个控制台版的“天气查询”程序,帮助我们练习如何使用 TypeScript。

第一步:需求分析

我们要实现的功能是:

  • 用户输入城市名称
  • 输出模拟的天气信息,例如:“上海今天的温度是 20°C。”

我们会用一个函数模拟获取天气数据的过程。


第二步:编写代码

打开 index.ts,写下如下代码:

// 模拟从 API 获取天气数据
function getWeather(city: string): { city: string; temperature: number } {
  const weatherData = {
    beijing: 18,
    shanghai: 20,
    guangzhou: 25
  };

  const temperature = weatherData[city.toLowerCase()];
  if (!temperature) {
    throw new Error(`找不到 ${city} 的天气信息`);
  }

  return {
    city: city.charAt(0).toUpperCase() + city.slice(1),
    temperature
  };
}

// 主函数
function main() {
  const city = process.argv[2]; // 从命令行读取参数
  try {
    const weather = getWeather(city);
    console.log(`${weather.city} 今天的温度是 ${weather.temperature}°C`);
  } catch (error) {
    console.error(error.message);
  }
}

main();

第三步:运行测试

在终端中输入:

npm start shanghai

输出结果应该是:

Shanghai 今天的温度是 20°C

试着输入一个不存在的城市,比如 moscow

npm start moscow

会输出错误信息:

找不到 moscow 的天气信息

总结一下这个项目的亮点:

  • 使用了函数参数和返回值类型定义
  • 练习了对象和异常处理
  • 利用了模块化的结构组织代码

这是一个小小的完整项目,适合新手巩固所学知识。


常见问题解答:TypeScript 新人总踩的坑

前端性能优化图表-1


Q1:为什么说 TypeScript “类型安全”?

TypeScript 在编码阶段就做了一次类型检查,防止很多常见错误,比如把字符串当成数字用、调用不存在的方法等等。


Q2:TypeScript 编译出来的 JS 文件在哪?

默认情况下不会自动生成 .js 文件,除非你执行了 tsc index.ts。如果你想让它自动编译,可以在 tsconfig.json 里设置 "outDir"


Q3:vscode 写 TypeScript 没有智能提示怎么办?

确认以下几点:

  • 是否安装了 TypeScript 插件?
  • 是否打开了 tsconfig.json
  • 是否保存为 .ts 文件?

Q4:什么时候用 any,什么时候用 unknown

尽量优先使用 unknown,因为:

  • any 放弃所有类型检查,容易出错;
  • unknown 强制你在使用前做类型判断,更安全。

学习建议:接下来你可以怎么学?

学完这篇快速入门之后,你可以继续深入以下几个方向:

1. 类与面向对象编程(OOP)

掌握 class、继承、修饰符等知识,适合构建大型应用。

2. 泛型与高级类型

学会写更通用、可复用的组件和函数。

3. 配合 React/Vue 使用

TypeScript 已成为现代前端框架的标准搭配,比如 Vue3 和 React 官方都推荐使用 TS。

4. 使用第三方类型库(如 @types/xxx)

当使用非 TypeScript 写的库时,可通过类型定义文件获得类型提示。


结语:迈出你的第一步

虽然这是你第一次接触 TypeScript,但从现在开始,你已经掌握了它的基本用法,并能写出有类型检查的代码了。

别忘了,学习编程最重要的不是记住了多少语法,而是不断动手实践。试着去改写你之前写过的 JavaScript 项目,加上类型信息,你会越来越得心应手。

祝你学习愉快,未来成为一名优秀的开发者 🚀

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝