ECMAScript 2022规范对应的起始非终结符是哪个?
ECMAScript 2022 语法起始非终结符说明
ECMAScript 2022 规范定义了两个顶层非终结符作为语法解析的起始符号,对应两种不同的代码执行场景:
- 执行不使用ES模块语法的传统脚本时,最先被求值的顶层语法单元对应非终结符
Script - 执行使用
import/export语法的ECMAScript模块时,最先被求值的顶层语法单元对应非终结符Module
所有合法的ECMAScript代码都必须符合上述两个非终结符的产生式规则,宿主环境会根据代码的加载方式自动选择对应的解析入口:比如浏览器中普通script标签加载的代码按Script规则解析,带type="module"属性的script标签加载的代码按Module规则解析;Node.js环境也会根据文件后缀、package.json配置项来判断使用哪套解析规则。
内容的提问来源于stack exchange,提问作者AngryJohn
相关产品推荐
相关产品推荐

