TypeScript 简介

在动手装环境之前,我们先认识一下 TypeScript 到底是什么、为什么值得学、它和 JavaScript 是什么关系。理解了背景,后面学类型语法时会更有的放矢。本篇假设你已经熟悉 JavaScript 基本语法。

TypeScript 是什么?

TypeScript(简称 TS)是微软在 2012 年开源的一门编程语言,由 C# 之父 Anders Hejlsberg 主导设计。一句话定义:它是 JavaScript 的超集,在 JS 之上加了一层静态类型系统。"超集"的意思是——所有合法的 JS 代码几乎都是合法的 TS 代码,TS 只是额外允许你写类型标注。

// hello.ts —— 一眼看上去和 JS 几乎一样,只是多了 ": string"
function greet(name: string): string {
  return `你好, ${name}!`;
}

console.log(greet("TypeScript"));
// 输出: 你好, TypeScript!

注意 name: string 和函数名后面的 : string——这就是 TS 比 JS 多出来的全部"外观特征":给变量、参数、返回值标上类型。

核心特点:它是 JavaScript 的超集

"超集"是理解 TS 的关键。下面这段代码完全是 JS,但它也是合法的 TS:

// 下面这段是完全合法的 JavaScript,也是完全合法的 TypeScript
const title = "TypeScript";
const year = 2012;
console.log(`${title} 诞生于 ${year} 年`);

// TS 只是在此基础上,允许你"可选地"加上类型标注
const openSource: boolean = true;   // : boolean 就是 TS 加的部分

这意味着迁移成本极低:你可以把一个 .js 文件直接改名成 .ts,它通常立刻就能通过编译。然后你逐步地给关键变量补上类型,这种"渐进式类型化"的体验是 TS 能迅速普及的重要原因。

TS 不能直接运行,需要编译

浏览器和 Node.js 都不认识 .ts 文件,它们只懂 JS。所以 TS 代码必须先用官方的 tsc(TypeScript Compiler)编译成 JS:

# 1. 把上面的代码保存为 hello.ts
# 2. 用 tsc 编译成 JS(tsc 会去掉所有类型标注)
tsc hello.ts
# 生成 hello.js,内容是纯 JS,任何浏览器/Node 都能跑

# 3. 运行编译后的 JS
node hello.js
# 输出: 你好, TypeScript!

关键点:编译的过程会擦除所有类型信息。打开生成的 hello.js,你会发现 : string 全都不见了,剩下的就是普通 JS。也就是说,类型只在开发阶段保驾护航,运行时零成本——这就是为什么大型项目敢于全量上 TS。

为什么值得学 TS?

写过 JS 的人多半踩过这些坑,TS 正是来治这些病的:

TS 都用在哪?

今天 TS 已经是前端工程的事实标准

简单说:想做中大型前端工程、想进正规团队,TS 几乎是必修课。

TS vs JavaScript

本系列怎么学?

本系列默认你已经懂 JavaScript(变量、函数、对象、数组、Promise 等),不会重复讲这些。我们只把焦点放在"TS 给 JS 加了什么"——类型注解、接口、泛型、工具类型、配置。每篇都配有可运行的 .ts 示例,建议边读边敲。

← 返回 TypeScript 教程目录

下一篇 TypeScript 环境安装

✈️💬