TypeScript 简介
什么是 TypeScript?
TypeScript 是由 Microsoft 开发的开源编程语言,它是 JavaScript 的一个超集(superset),也就是说,所有合法的 JavaScript 代码在 TypeScript 中都是合法的。
TypeScript 最大的特点是:
为 JavaScript 添加了静态类型系统和开发时的类型检查能力。
这意味着你可以在开发阶段捕获大量潜在错误,提高代码可维护性和开发效率。
为什么使用 TypeScript?
使用 TypeScript 的主要优势包括:
✅ 更好的可读性与可维护性
类型注解可以明确表达代码意图,对于协作开发或多人项目尤其重要。
✅ 更强的开发体验
配合编辑器(如 VS Code),可以获得自动补全、类型提示、跳转定义等增强功能。
✅ 提前发现潜在错误
类型检查器可以在编译期发现错误,避免运行时报错。
✅ 更适合大型项目
TypeScript 强调模块化、接口定义、面向对象编程,有助于构建大型系统。
TypeScript 与 JavaScript 的关系
| 特性 | JavaScript | TypeScript |
|---|---|---|
| 类型系统 | 动态类型(运行时检查) | 静态类型(编译时检查) |
| 语法兼容性 | 原生 | 向下兼容所有 JS 写法 |
| 开发体验 | 较弱 | 强类型支持、IDE 提示强大 |
| 编译流程 | 无需编译,直接运行 | 需先编译为 JS 才能运行 |
| 适合项目 | 小型脚本、快速原型开发 | 中大型项目、团队协作开发 |
简言之:
TypeScript 不替代 JavaScript,而是增强 JavaScript 的能力。
TypeScript 是如何运行的?
- TypeScript 文件使用
.ts(或.tsx)扩展名; - 需要通过 TypeScript 编译器
tsc将.ts文件转译为浏览器可识别的.js文件; - 在实际部署时,运行的仍然是 JavaScript 代码。
# 安装 TypeScript
npm install -g typescript
# 编译 .ts 文件
tsc hello.ts # → 生成 hello.js
TypeScript 开发工具支持
✅ Visual Studio Code(VS Code)
- Microsoft 官方编辑器,完美支持 TypeScript;
- 自动补全、类型提示、错误检查、跳转定义一应俱全;
- 支持
tsconfig.json识别项目结构。
✅ ts-node
- 允许直接运行
.ts文件,而无需手动编译; - 常用于本地开发或脚本运行。
npm install -g ts-node
ts-node index.ts
✅ 其他工具链支持
- Webpack / Vite / Rollup 均支持 TypeScript;
- 前端框架(如 React、Vue)也提供了完善的 TS 支持;
- 后端框架如 NestJS、Express 也支持 TypeScript 开发。
tsconfig.json 简介
tsconfig.json 是 TypeScript 的配置文件,定义了编译行为及项目结构。
一个基本示例如下:
{
"compilerOptions": {
"target": "es6",
"module": "esnext",
"strict": true,
"outDir": "./dist",
"baseUrl": "./src",
"paths": {
"@utils/*": ["utils/*"]
}
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules"]
}
常见配置项说明:
target: 编译后的 JS 目标版本;module: 模块化方式,如 ESNext, CommonJS;strict: 开启所有严格类型检查;baseUrl与paths: 配置路径别名;include/exclude: 控制编译包含/排除的文件。
相关内容
- 函数与类型 TypeScript 中函数相关的类型注解方式,包括参数与返回值类型、可选与默认参数、剩余参数,以及函数重载的用法。
- 接口与对象类型 TypeScript 中接口(interface)与对象类型的使用方法,包括 interface 与 type 的区别、可选与只读属性、索引签名以及函数类型定义...
- 类型系统基础 TypeScript 中的基本类型系统,包括原始类型、数组与元组、枚举、any 与 unknown 类型、类型别名与交叉类型等内容。
- 高级类型 介绍 TypeScript 中的高级类型,包括联合类型、类型保护、类型断言、字面量类型、映射类型、条件类型等,帮助开发者灵活使用复杂的类型。
- 类与面向对象 TypeScript 中类的定义方式、继承机制、访问修饰符,以及如何结合接口使用类,并了解抽象类与多态的基础用法。
- 泛型 TypeScript 中泛型的基本概念和用法,包括泛型函数、接口、类,以及泛型约束和默认类型等,帮助开发者灵活构建通用的类型。