对于有着强制类型语言经验的开发来讲,刚开始接触 JavaScript 的时候,大多都有一种 “心如芒刺,如鲠在喉” 的感觉。
从最初的好感 -——开放包容,到后来的厌恶之情——放荡不羁
TypeScript 犹如黑暗之中的一缕阳光,拯救了这些渴望自由的灵魂。
1. JavaScript OR TypeScript ?
对于刚接触前端的朋友,在周围极力推荐TypeScript 的情况下,自然而然地产生一种想法:能不能直接学TypeScript?
不学习 JavaScript,就无法学习 TypeScript!TypeScript 共用了 JavaScript 的语法和运行时行为。因此,对JavaScript 的任何了解都可以帮助你学习 TypeScript 。
静态检查
在不运行代码的情况下检测其中的错误称为静态检查
静态 类型 检查
根据被操作的值的种类来确定是什么错误和什么不是错误,这称为静态 类型 检查
静态类型检查器
TypeScript 在执行之前,基于 值的类型 检查程序是否有错误。它是 静态类型检查器
TypeScript 的类型检查器旨在允许正确的程序通过,同时仍然捕获尽可能多的常见错误。
JS和TS的关系
TypeScript 与 JavaScript 有着不同寻常的关系。TypeScript 提供了 JavaScript 的所有功能,并在这些功能之上添加了一层: TypeScript 的类型系统。即所谓的: TypeScript 是 JavaScript 的 类型化超集。
TypeScript 绝不 改变 JavaScript 代码的运行时行为,保持与 JavaScript 运行时行为相同是 TypeScript 的基本承诺,TypeScript 的编译器完成了检查代码的工作,它就会 擦除 类型以生成最终的“已编译”代码(JS代码);
TypeScript 是带有编译时类型检查器的 JavaScript 运行时
(TypeScript is JavaScript’s runtime with a compile-time type checker.)。
TypeScript 的主要好处是,它可以检查代码中的意外行为,从而降低出现错误的机会。