2022年,步步为营拿下 TypeScript(1)

247 阅读2分钟

目标

  1. 深入理解 TypeScript 核心概念;
  2. 熟练进行 TypeScript 工程配置;
  3. 玩转四种典型前端应用的开发;
  4. 重塑“类型思维”,提升编程素养。

重塑“类型思维”

Atwood 定律:任何能用 JavaScript 实现的应用,最终都会用 JavaScript 实现。

如今,从移动终端到后端服务,从 IoT 到神经网络,JavaScript 几乎无处不在。如此广泛的应用领域,自然对语言的安全性健壮性可维护性有更高的要求。

  • JavaScript 是一门动态弱类型语言,对变量的类型非常宽容,而且不会在这些变量和它们的调用者之间建立结构化的契约。

    1. 调用别人的函数,没有任何注释,为了搞清楚参数类型,只能硬着头皮去看里面的逻辑。
    2. 为了保证代码的健壮性,不得不对一个函数的输入参数进行各种假设。
    3. 底层类库维护时,优化了一个参数类型,因为不知道有多少处引用而存在未知风险。
    4. 定义好了接口,联调时却报错。

    长期在没有类型约束的环境下开发,就会造成“类型思维”的缺失,养成不良的编程习惯。在 ECMAScript 标准推出静态类型检查之前,TypeScript 是当下解决此问题的最佳方案。

  • TypeScript 是拥有类型系统的 JavaScript 超集,为 JavaScript 提供了良好的类型检查支持,而且能够编译成标准的 JavaScript

    1. 类型检查TypeScript 会在编译代码时,进行严格的静态类型检查,意味着可以在编码阶段发现可能存在的隐患,避免引发不必要的线上问题。
    2. 语言扩展TypeScript 会包括来自 ECMAScript 6 和未来提案中的特性(如:异步操作和装饰器),也会从其他语言借鉴某些特性(如:接口和抽象类)。
    3. 工具属性TypeScript 可以编译成标准的 JavaScript,可以在任何浏览器、操作系统上运行,无需运行时的额外开销。
    4. Visual Studio Code 具备强大的自动补全、导航和重构功能,使得接口定义可以直接代替文档,同时可以提高开发效率,降低维护成本。
    5. TypeScript 可以帮助团队重塑“类型思维”,接口提供方将被迫去思考 API 的边界,有助于从代码的编写者蜕变成代码的设计者。

小结

思维方式决定了编程习惯,编程习惯奠定了工程质量,工程质量划定了能力边界。面对越来越复杂的前端应用,TypeScript 提供的思维方法可以让你在前端开发之路上走得更稳、更远。