第一章:TypeScript
了解TypeScript
TypeScript是Javascript的超集,Typescript = Type + ECMAScript + Babel-Lite
为何使用TypeScript
-
增加了代码的可读性和可维护性
-
减少运行时错误,写出的代码更加安全,减少 BUG
-
享受到代码提示带来的好处
-
重构神器
-
从开发效率上看,虽然需要多写一些类型定义代码,但TypeScipt能做到智能提示,智能感知bug,我们不必运行项目时才发现错误,我们也可以给那些没有TS类型声明的稳定模块写声明文件
-
从可维护性上看,长期迭代维护的项目开发和维护的成员会有很多,长期迭代维护的项目总会遇到可维护性逐渐降低的问题,有了强类型约束和静态检查,以及智能IDE的帮助下,可以降低软件腐化的速度,提升可维护性,且在重构时,强类型和静态类型检查会帮上大忙,甚至有了类型定义,会不经意间增加重构的频率(更安全、放心)。
-
从线上运行时质量上看,我们现在的SPA项目的很多bug都是由于一些调用方和被调用方(如组件模块间的协作、接口或函数的调用)的数据格式不匹配引起的,由于TS有编译期的静态检查,让我们的bug尽可能消灭在编译器,加上IDE有智能纠错,编码时就能提前感知bug的存在,我们的线上运行时质量会更为稳定可控。
类型系统+静态分析检查+智能感知/提示,使大规模的应用代码质量更高,运行时bug更少,更方便维护。给应用配置、应用状态、前后端接口及各种模块定义类型,整个应用都是一个个的类型定义,使协作更为方便、高效和安全。
TypeScipt适用于生命周期较长的复杂SPA应用,它能有效的保障开发效率的同时提升代码的可维护性和线上运行时质量。至于到底用不用TS,还是要看实际项目规模、项目生命周期、团队规模、团队成员情况等实际情况综合考虑。
如何使用TypeScript
一:TypeScript 基础类型
- boolean
- number
- string
- symbol (ES6) 唯一值
- array
- enum 枚举
- any 任意类型
- unknown 未知类型
- tuple 元组
- void 可用于在函数中定义返回类型
- null
- undefined
- object
- never 值用户无法达到的类型