typescript关键知识点总结(一)

本文总结了typescript的核心原理,包括词法分析、解析、绑定、检查和发射过程。此外,探讨了typescript的常用类型特点,如防止变量篡改、any与undefined的区别,以及接口与类型别名的异同。文章还触及了联合枚举类型的关键点,并强调了掌握typescript属性组合的重要性。
摘要由CSDN通过智能技术生成

一 聊聊typescript的核心原理

TypeScript 是一种基于 JavaScript 的强类型编程语言,它使得在前端项目开发过程中更加严谨且流畅,一定程度上保证了大型前端项目程序的健壮性。

但是 TypeScript 并不可以直接运行,而是需要转换成 JavaScript 代码才可以在 Node.js 或浏览器环境下执行,因此我们需要通过“编译器”将 TS 代码转换为 JS 代码。

Scanner扫描器:词法分析,生成token流
Parser解析器:生成AST
Binder绑定器:创建Symbol关联AST,形成语义
Checker检查器:类型检查
Emitter发射器:输出编译后的文件

  • 对于源代码,TS首先对它进行词法分析,通过scanner进行逐词扫描,生成token流
  • 对于scanner生成的token,parser会对其进行组装并生成一棵AST
  • binder会生成symbol(符号),并为AST上的每一个节点绑上相应的symbol
  • checker检查处理后的AST,利用其进行语法检查
  • emitter根据最终的AST生成JS代码和声明文件(d.ts)

二 盘点typescript的常用类型类型特点

1.const 防止变量值被修改,readOnly防止变量的属性被修改。

2.TypeScriptany、never、unknown、null & undefined 和 void 有什么区别?
any 可以定义任意变量动态变量(失去了检查作用)。
never 可以定义抛出异常或用不存在的类型。
unknown 任何值都可赋值给unknown类型,但unknown只能复制给unknownany
void 没有任何类型
null & undefined 默认情况下这两个是所有类型的子类型,但是当你指定了 --strictNullChecks

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为了WLB努力

给点小钱,你的鼓励是我坚持动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值