术语图鉴/前端基础/TypeScript
←→切换Esc返回

TypeScript TypeScript (TS)

你可能会说

JS 写多了各种 undefined 报错,有没有办法在写代码时就发现类型错误?

TypeScript 是 JavaScript 的超集,添加了静态类型系统——在代码运行前就能发现类型错误。

JavaScript 的「加强版」,给变量加了类型约束。写代码时就能发现错误,而不是等运行了才崩溃。

也常被叫作TypeScript (TS)TS

生活类比

像填表格时标了「这里填数字、那里填日期」——填错了当场提醒你,不用等交表才发现问题。

🎮 动手试试

👇 切换有无类型检查

const age = "twenty";
const sum = age + 1;
❌ TS2365: Operator '+' cannot be applied to types 'string' and 'number'
选择题选择一个你认为最合适的答案

关于「TypeScript」,以下哪个描述最准确?

你可以这样告诉 AI

帮我把这个 JS 项目迁移到 TypeScript:配置 tsconfig.json,给所有函数加参数和返回值类型,用 interface 定义数据结构。

容易混淆?这样区分

TypeScript TypeScript (TS)≠
JavaScript JS

TS = JS + 类型。TS 编译后就是 JS,浏览器执行的永远是 JS。TS 在开发时提供类型检查。

TypeScript TypeScript (TS)≠
Flow Flow

Flow 和 TS 都是类型系统,但 TS 生态更大、工具链更完善,已成主流。

什么时候用

大型/多人项目

类型系统在编译时就能发现拼写错误、参数类型不匹配等问题,避免上线后崩在用户面前。

和 AI 协作时

想让 AI 用 TS 写代码时,直接说「用 TypeScript,给所有函数加参数和返回值类型,用 interface 定义数据」。

什么时候不用

快速原型验证

一个 demo 或 hackathon 项目,追求速度可以先用 JS 快速迭代,后续再加类型。

纯脚本/非 JS 生态

用 Python、Go、Rust 等语言的项目与 TypeScript 无关。

组成结构 · Anatomy

1
核心概念Core

JavaScript 的「加强版」,给变量加了类型约束。写代码时就能发现错误,而不是等运行了才崩溃。

2
实际表现In Practice

像填表格时标了「这里填数字、那里填日期」——填错了当场提醒你,不用等交表才发现问题。

3
与 AI 的关联AI Context

和 AI 沟通时提到「用 TS 写」,就是让代码里带类型标注,更安全。

典型使用场景

JS 项目迁移 TS
告诉 AI「帮我把这个工具函数文件从 JS 改成 TypeScript:给所有参数和返回值加类型,定义好 interface,开启 strict 模式」
想弄懂概念时
告诉 AI「用大白话给我解释什么是TypeScript,举个生活中的例子」

延伸阅读