继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【学习打卡】第八天 2小时极速入门 TypeScript

慕娘1416932
关注TA
已关注
手记 42
粉丝 4
获赞 4

学习课程名称:2小时极速入门 TypeScript
章节名称:了解TypeScript 工作流
讲师姓名:阿莱克斯刘


课程内容概述

  1. 什么是 TypeScript
  2. 开发环境配置
  3. TypeScript工作流

什么是TypeScript?

TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器,任何操作系统。

TypeScript的优势?

以JavaScript为基础构建的语言
可以在认可支持JavaScript的平台中执行
一个JavaScript的超集
TypeScript扩展了JavaScript,并添加了类型
TS不能被JS解析器直接执行
TS需要编译转换为JS
TypeScript增加了什么?

类型
支持ES的新特性
添加ES不具备的新特性
丰富的配置选项
强大的开发工具

开发环境搭建

  1. 安装Node
  2. 全局安装TypeScript (npm install -g typescript)

TypeScript工作机制

  1. TypeScript 源码经过扫描器扫描之后变成一系列 Token
  2. 解析器解析 token,得到一棵 AST 语法树
  3. 绑定器遍历 AST 语法树,生成一系列 Symbol,并将这些 Symbol 连接到对应的节点上
  4. 检查器再次扫描 AST,检查类型,并将错误收集起来
  5. 发射器根据 AST 生成 JavaScript 代码

AST 中的节点称为 Node,Node 中记录了这个节点的类型、在源码中的位置等信息。不同类型的 Node 会记录不同的信息。如对于 FunctionDeclaration 类型的 Node,会记录 name(函数名)、parameters(参数)、body(函数体)等信息,而对于 VariableDeclaration 类型的 Node,会记录 name(变量名)、initializer(初始化)等信息。一个源文件也是一个 Node —— SourceFile,它是 AST 的根节点。

简而言之,绑定器的终极目标是协助检查器进行类型检查,它遍历 AST,给每个 Node 生成一个 Symbol,并将源码中有关联的部分(在 AST 节点的层面)关联起来。

Symbol 是语义系统的基本构造块,它有两个基本属性:members 和 exports。members 记录了类、接口或字面量实例成员,exports 记录了模块导出的对象。Symbols 是一个对象的标识,或者说是一个对象对外的身份特征。如对于一个类实例对象,我们在使用这个对象时,只关心这个对象提供了哪些变量/方法;对于一个模块,我们在使用这个模块时,只关心这个模块导出了哪些对象。通过读取 Symbol,我们就可以获取这些信息。


图片描述图片描述图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP