gpt4 book ai didi

javascript - 为什么 AST 树中使用 const/let VariableDeclarations 而不是 ECMAScript 中的 LexicalDeclarations?

转载 作者:行者123 更新时间:2023-12-01 01:49:44 27 4
gpt4 key购买 nike

在 ECMAScript 中,只有 var 是“VariableDeclaration”,const/let 是“LexicalDeclaration”类型。

const/let

var

但是,我一直在学习 AST 树,并注意到 estree 和 babel 解析器都在“变量声明”下定义了 const/let 。

estree

babel-parser

节点类型不应该对应于 ECMAScript 节点类型吗?还是我误解了 AST 树的构建方式?

最佳答案

Shouldn't the node types correspond to ECMAScript node types

AST 格式的规范完全独立于语言语法定义。通常,两者最终会具有相关性,但它们并不是总体目标的匹配。

在 ESTree 的上下文中,您可以使用 .kind 来区分各种类型,而不是使用不同的节点类型,尽管这肯定是一种替代方法。

关于javascript - 为什么 AST 树中使用 const/let VariableDeclarations 而不是 ECMAScript 中的 LexicalDeclarations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51640900/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com