TS学习笔记之初次见面

134 阅读1分钟

该系列文章是本人阅读阮一峰老师的《TypeScript教程》学习笔记,欢迎各位大佬指出不正确的地方,感谢!

概述

TS不是一个全新的语言,可以看成是JS的超集。它继承了JS的全部语法,又增加了一些自己的语法(最主要的部分就是类型系统)。

类型的概念

类型是有相同特征的值,一旦确定某个值的类型,则可以认为该值有这个类型的全部特征,可以进行该类型的全部运算。

类型也是人为添加的一种编程约束和用法提示。

动态类型与静态类型

在语法上,JS属于动态类型语言,因为运算符可以接受任何类型的值。

TS属于静态类型语言,作用就是为JS引入静态类型特征。

静态类型的优点

  1. 有利于代码的静态分析 不必运行代码就可以确定变量的类型,从而推断出代码有没有错误。
  2. 有利于发现错误 因为对值、变量、运算符都有严格的类型约束,所以能轻松发现错误。
  3. 更好的IDE支持,做到语法提示和代码自动补全
  4. 提供了代码文档 通过看类型大致推断出代码的作用。
  5. 有助于代码重构

静态类型的缺点

  1. 丧失了动态类型的代码灵活性
  2. 增加了编程工作量
  3. 更高的学习成本
  4. 引入了独立的编译步骤
  5. 兼容性问题