切换·Esc 返回

TypeScript

编程语言
TypeScript 是在 JavaScript 基础上增加类型检查的编程语言例如,把 user.name 写成 user.nmae 时,编辑器可在运行前标红。类型检查能发现名称和数据类型不一致,却不能证明价格、权限等业务规则正确。
先知道
也常被叫作TS
开始前

见过代码里的名称,例如 user.name。

看完后

能判断 TypeScript 的标红是在运行前发现对不上,不是在替你验证业务是否正确。

把 name 拼成 nmae,会在哪一步发现?
同一个任务:显示用户姓名
profile.js
1const user = { name: "小林" }
2title.textContent = user.nmae
运行网页后undefined
profile.ts
1const user: User = { name: "小林" }
2title.textContent = user.nmae
运行前就停在这里User 里没有 nmae,你是想写 name 吗?

TypeScript 像写代码时的拼写检查;它能提前拦住这类错误,但不会替你判断业务对不对。

刚才发生了什么
  1. 1
    同一个拼错

    代码想读取 name,却写成了不存在的 nmae。

  2. 2
    JavaScript 晚些才知道

    没有额外检查时,页面运行到这一行才可能读到 undefined,也就是“没有这个值”。

  3. 3
    TypeScript 先提醒

    它根据你写下的约定在编辑器里标红;随后代码通常会变成 JavaScript 再执行。

你现在这样判断就够了

标红值得先修,但它不能证明按钮流程、价格或权限规则真的符合你的产品要求。

接下来学什么
延伸阅读 · 权威出处