当前位置: 首页 > news >正文

ES6转为ES5 AST

Babel如何将ES6转化为ES5的呢?
转换过程:
分为三步:
1.babylon进行解析
第一步主要是将ES6语法解析为AST抽象语法树。
2.Transform转换
第二步是将打散的AST语法进行处理,在这个阶段可以将ES6代码进行相应的转换。
3.Generator生成
第三步根据处理后的AST再生成可执行的代码。
w

AST是什么?
AST是源代码的抽象语法的树状表示,树上的每个节点都表示源代码中的一种结构,所以是抽象的,抽象表示把JS代码进行了结构化的转化,转化为一种数据结构。是一个大的JSON对象。

程序的一段源代码在执行之前会经历三个步骤,统称为“编译"。
1.词法分析
扫描代码,将其分解成有意义的代码块,这些代码统称为词法单元。
2.语法分析
它会将词法分析出来的代码块转换成树形的形式,这个树被称为”抽象语法树“。
3.代码生成
将AST转化为可执行的代码

相关文章:

  • 二分法查找方法
  • UE5物体旋转(蓝图版)
  • 【网络安全】SQL注入专题讲解
  • unordered_set、unordered_map的介绍+使用+比较
  • Leetcode139. 单词拆分
  • DRM系列(9)之drm_atomic_helper_commit
  • Unity入门03——Unity脚本
  • finally执行语句的注意和小陷阱
  • 【推荐系统->论文阅读】WideDeep模型
  • 【Node】cookie、sessionStorage、localStorage 与 身份认证
  • 把setting.xml放在conf和.m2目录的区别
  • OpenCV图像加载、显示与保存
  • Vulhub靶场搭建与使用
  • 80-Java的Map集合:概述、API、遍历方式
  • vue中什么是$nextTick?
  • 11111111
  • Android交互
  • C学习-枚举(九)
  • GitUp, 你不可错过的秀外慧中的git工具
  • iOS 颜色设置看我就够了
  • Java新版本的开发已正式进入轨道,版本号18.3
  • k8s 面向应用开发者的基础命令
  • MD5加密原理解析及OC版原理实现
  • Python学习之路16-使用API
  • v-if和v-for连用出现的问题
  • 深入浅出webpack学习(1)--核心概念
  • 一个项目push到多个远程Git仓库
  • mysql面试题分组并合并列
  • 仓管云——企业云erp功能有哪些?
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 函数计算新功能-----支持C#函数
  • 整理一些计算机基础知识!
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​决定德拉瓦州地区版图的关键历史事件
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #android不同版本废弃api,新api。
  • #define
  • #mysql 8.0 踩坑日记
  • (c语言)strcpy函数用法
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (四)Controller接口控制器详解(三)
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转载)利用webkit抓取动态网页和链接
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .net core 控制台应用程序读取配置文件app.config
  • .net6Api后台+uniapp导出Excel
  • .NET的微型Web框架 Nancy
  • .NET实现之(自动更新)
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • @Async注解的坑,小心
  • @Builder用法
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @Query中countQuery的介绍
  • [C++]——带你学习类和对象