登录
No.18核心1 条来源

TypeScript

课堂投屏

一句话

TypeScript 是在 JavaScript 上加了类型标注的语言,写代码时就能发现“传错了类型”这类错误。

大白话

TypeScript 像交卷前的检查员:这里该填数字你却填了文字、这个字段名拼错了一个字母,他会在你交卷之前就一条条指出来,让你当场改掉。

比喻的边界

检查员只看你的卷面,看不到考试当天真正递进来的材料;接口返回的数据是否真的符合类型,程序运行时 TypeScript 不会再查。

拿去就能用

开始做

我的项目里有,很多地方在用,但没有类型。帮我为它写 TypeScript 类型定义,标出哪些字段可能为空,再给用到它的地方接上类型。改完告诉我类型检查是否通过。

还差:一段数据,发给 AI 前记得换掉

出错了

编辑器里没有报错,运行时却因为接口少返回一个字段而白屏。我怀疑类型只写了“应该是什么”,没检查实际数据。先帮我确认这一点,再在接收数据的地方加上运行时校验。

想做深

我的项目是 JavaScript 写的,想逐步改成 TypeScript。帮我规划一个不影响现有功能的迁移顺序:先改哪些文件、检查严格程度怎么逐步收紧。先给计划,保证每步做完都能正常运行。

别这样说 → 这样说

别这样说

TypeScript 报了一堆错,你帮我全改掉。

这样说

我运行 npm run build 报了 12 个类型错误,第一个是 “Property 'price' does not exist on type 'Product'”。帮我先解释这个错误的意思和根源,从根源改起,不要用 any 或忽略注释把错误压下去。

差别:贴了第一条原文,要求找根源,并排除了“把报错压掉”的做法。

容易误解:

误解TypeScript 检查通过了,程序就不会出类型错误。

其实是类型在编译后会被擦掉;从接口、用户输入、文件读进来的数据,仍然要在运行时校验。

展开专业理解

TypeScript 在 JavaScript 语法上增加类型,是一个静态类型检查器:先由编译器检查类型,再去掉类型、输出普通 JavaScript 去运行。它不改变 JavaScript 的运行行为,所以类型错误不会在运行时被自动拦截。滥用 any 会关掉检查,用多了等于没用。

来源

  1. TypeScript 官方手册:TypeScript for the New Programmer 核对于 2026-09-26