Skip to content
大纲

前言

到如今, TypeScript 已经成为前端人必须掌握的技能之一。

那么, 为什么需要学习 TypeScript? TypeScript 究竟是什么呢?

背景

我们知道, JS 不同于传统的 C++、Java 等语言, 它只有在运行时才能发现某些错误, 比如:

  • 访问了一个对象没有的属性
  • 调用一个函数却少传了参数
  • 函数的返回值是个字符串但却把它当作数值使用了
  • ...

而 TypeScript 可以在编写代码的过程中, 就能发现上述错误, 非常的 nice。

概念

TypeScript 是 JavaScript 的超集, 拥有类型机制, 不能直接在浏览器环境运行, 而是需要提前编译成 JavaScript 代码。

  • 超集 : JS 有的 TS 要有, JS 没有的 TS 也有。在语法标准方面, TypeScript 是略微领先的, 比如类的私有属性和方法。
  • 类型 : 不同于 JS 的动态类型, TS 属于静态类型, 配合编辑器的静态类型校验能力, 既可做到执行前报错。

可以说, TS ≈ JS + Static Type Checker(静态类型校验能力)。而 Static Checker 是编辑器(VSCode)的工作, 所以, TS 核心需要学习的就是静态类型

应用场景

虽然使用 TypeScript 编写代码很爽, 但是除了逻辑代码外, 还需维护类型的声明。某种程度上会加大开发人员的心智负担, 所以也切勿为了技术而技术, 技术服务于业务。

简单的说, 以下类型的项目适合使用 TypeScript 开发:

  • 需要多人合作开发的项目(人数 > 10)
  • 需要经常更新迭代的项目
  • 开发人员频繁更换的项目
  • 开源项目, 尤其是工具函数或组件库
  • 对代码质量要求很高的项目

下面是一些用 TypeScript 编写的广为人知的项目:


下面就让我们一起来攻克 TypeScript 吧! notes 分为 n 个章节:

Mochi's personal blog.