前言
其实对于大部分人来说,js才是人们最首要的选择,TS是项目中的一点利器而已,不过是针对某些项目的编译更快而设定的规范类型罢了。
我们所编写的js代码是不能直接被机器识别的,需要转化成能被机器识别的机器语言。javascript是一门解释型语言,后端之王java是一门编译型语言,我们根据语言的执行流程可以分为解释型和编译型。我们来看看他们的区别吧。
解释型语言:需要将代码转换成机器码,但是和编译型的区别在于运行时需要转换。比较显著的特点是,解释型语言的执行速度要慢于编译型语言,因为解释型语言每次执行都需要把源码转换一次才能执行。
编译型语言:在代码运行前编译器直接将对应的代码转换成机器码,运行时不需要再重新翻译,直接可以使用编译后的结果。
语义分析(Semantic Analysis):在这个阶段,解析器会检查AST的语义,例如变量和函数的定义和使用是否正确。
这一步就体现出了ts的作用,我已经帮你写好了,你就不用再做过多的解析了。
TypeScript的核心特性就是其类型系统。以下是一些与类型相关的概念:
- 基础类型:如number、string、boolean、null、undefined、symbol等。
- 联合类型:例如,一个变量可以是字符串或数字。
- 泛型:允许定义与任何类型兼容的函数或类。
- 可空折叠:TypeScript的一种类型检查特性,使得代码更简洁。
基础类型可以这样表达
// es
let a = false;
// ts
let a:boolean = false;
// 统一方式 & <> 方式
let classArr: string[] = ['1', '2'];
let classArr: Array<string> = ['1', '2']
三、模块系统
TypeScript支持CommonJS和ES6模块系统。模块可以导出和导入,使得代码更加模块化,易于组织和复用。
四、其他特性
- 接口:用于定义对象结构的模板。
- 枚举:用于定义具有固定值的命名常量集合。
- 泛型:允许函数或类适应任何类型。
- 可空折叠:一种类型检查特性,可以简化代码。
- 装饰器:提供了一种在运行时修改类、属性、方法等的机制。
五、使用TypeScript的优势
- 提供静态类型检查,减少运行时错误。
- 支持模块化,便于组织和复用代码。
- 提供更多语言结构和特性,如接口、枚举等。
- 可以为JavaScript代码提供更好的工具支持和代码提示。
六、总结
TypeScript是一种强大的JavaScript超集,提供了静态类型检查、模块系统以及其他一些语言特性。使用TypeScript可以帮助提高代码质量和开发效率,减少运行时错误。希望这篇复习文档能帮助您回顾和理解TypeScript的基本概念和特性。