抽象語法樹(AST)中的節(jié)點(diǎn)類型名稱

AssignmentExpression: 賦值表達(dá)式,如x = 5或x += 1。

AssignmentPattern: 賦值模式,用于解構(gòu)賦值,如{a, b} = obj或[x, y] = arr。

ArrayExpression: 數(shù)組表達(dá)式,如[1, 2, 3]。

ArrayPattern: 數(shù)組模式,用于解構(gòu)賦值中的數(shù)組,如[a, b, c] = arr。

ArrowFunctionExpression: 箭頭函數(shù)表達(dá)式,如() => {}或(x) => x + 1。

AwaitExpression: await表達(dá)式,用于異步函數(shù)內(nèi)部,如await someAsyncFunction()。

BlockStatement: 塊語句,由一對(duì)花括號(hào)包圍的語句列表,如{ let x = 1; console.log(x); }。

BinaryExpression: 二元表達(dá)式,由兩個(gè)操作數(shù)和一個(gè)操作符組成的表達(dá)式,如x + y或a * b。

BreakStatement: break語句,用于中斷循環(huán)或switch語句。

CallExpression: 調(diào)用表達(dá)式,表示函數(shù)調(diào)用,如func()或obj.method()。

CatchClause: catch子句,用于捕獲try語句塊中拋出的異常。

ClassBody: 類體,包含類的方法和屬性定義。

ClassDeclaration: 類聲明,如class MyClass {}。

ClassExpression: 類表達(dá)式,可以賦值給變量或作為其他表達(dá)式的值,如const MyClass = class {}。

ConditionalExpression: 條件表達(dá)式,如x ? 'yes' : 'no'。

ContinueStatement: continue語句,用于跳過循環(huán)的當(dāng)前迭代并繼續(xù)下一次迭代。

DoWhileStatement: do...while語句,一種后測(cè)試循環(huán)語句。

DebuggerStatement: debugger語句,用于在代碼執(zhí)行時(shí)觸發(fā)調(diào)試器的斷點(diǎn)。

EmptyStatement: 空語句,僅由一個(gè)分號(hào)組成,如;,通常用作占位符或滿足語法要求。

ExportAllDeclaration: export *聲明,用于導(dǎo)出模塊中的所有導(dǎo)出項(xiàng)。

ExportDefaultDeclaration: 默認(rèn)導(dǎo)出聲明,如export default function() {}或export default class {}。

ExportNamedDeclaration: 命名導(dǎo)出聲明,用于導(dǎo)出模塊中的特定項(xiàng),如export { myVar, myFunc }。

ExportSpecifier: 導(dǎo)出說明符,用于指定要導(dǎo)出的項(xiàng)的名稱,通常與ExportNamedDeclaration一起使用。

ExpressionStatement: 表達(dá)式語句,由一個(gè)表達(dá)式組成,并以分號(hào)結(jié)尾,如x + 1;。

ForStatement: for語句,一種常見的循環(huán)語句,包含初始化、條件測(cè)試和更新表達(dá)式。

ForOfStatement: for...of語句,用于遍歷可迭代對(duì)象的值。

ForInStatement: for...in語句,用于遍歷對(duì)象的可枚舉屬性。

FunctionDeclaration: 函數(shù)聲明,如function myFunc() {}。

FunctionExpression: 函數(shù)表達(dá)式,可以賦值給變量或作為其他表達(dá)式的值,如const myFunc = function() {}。

Identifier: 標(biāo)識(shí)符,用于變量名、函數(shù)名、屬性名等,如x、myFunction。

IfStatement: if語句,用于條件分支,如if (condition) { ... }。

ImportDeclaration: 導(dǎo)入聲明,用于從其他模塊導(dǎo)入綁定,如import { something } from 'module'。

ImportDefaultSpecifier: 默認(rèn)導(dǎo)入說明符,用于導(dǎo)入模塊的默認(rèn)導(dǎo)出,如import something from 'module'中的something。

ImportNamespaceSpecifier: 命名空間導(dǎo)入說明符,用于將整個(gè)模塊作為一個(gè)對(duì)象導(dǎo)入,如import * as ns from 'module'中的ns。

ImportSpecifier: 命名導(dǎo)入說明符,用于導(dǎo)入模塊的特定導(dǎo)出項(xiàng),如import { specific } from 'module'中的specific。

Literal: 字面量,表示源代碼中直接出現(xiàn)的值,如數(shù)字123、字符串"hello"、布爾值true等。

LabeledStatement: 帶標(biāo)簽的語句,允許在代碼的其他部分通過標(biāo)簽名引用該語句,如label: statement。

LogicalExpression: 邏輯表達(dá)式,使用邏輯操作符(&&、||)組合表達(dá)式,如a && b。

MemberExpression: 成員表達(dá)式,訪問對(duì)象屬性或數(shù)組元素,如obj.prop、arr。

MetaProperty: 元屬性,訪問與當(dāng)前執(zhí)行環(huán)境相關(guān)的信息,如new.target。

MethodDefinition: 方法定義,在類或?qū)ο笞置媪恐卸x的方法,如class MyClass { myMethod() {} }。

NewExpression: new表達(dá)式,用于創(chuàng)建對(duì)象實(shí)例,如new MyClass()。

ObjectExpression: 對(duì)象表達(dá)式,使用花括號(hào)定義對(duì)象字面量,如{ key: value }。

ObjectPattern: 對(duì)象模式,用于解構(gòu)賦值中的對(duì)象,如{ a, b } = obj。

Program: 程序,AST的根節(jié)點(diǎn),表示整個(gè)代碼塊或模塊。

Property: 屬性,對(duì)象字面量或類中的屬性定義,如{ key: value }中的key: value。

RestElement: 剩余元素,用于收集函數(shù)參數(shù)或解構(gòu)賦值中的剩余項(xiàng),如function(...args)或[a, ...rest] = arr。

ReturnStatement: return語句,用于從函數(shù)返回值,如return value;。

SequenceExpression: 序列表達(dá)式,使用逗號(hào)操作符組合多個(gè)表達(dá)式,如a, b。

SpreadElement: 展開元素,用于將數(shù)組或?qū)ο笳归_為多個(gè)元素或?qū)傩裕鏪...arr]或{ ...obj }。

Super: super關(guān)鍵字,用于訪問父類的構(gòu)造函數(shù)、方法或?qū)傩浴?/p>

SwitchCase: switch語句中的case子句,如switch (x) { case 1: ...; }。

SwitchStatement: switch語句,用于基于不同條件執(zhí)行不同的代碼塊。

TaggedTemplateExpression: 標(biāo)記模板表達(dá)式,使用函數(shù)調(diào)用語法處理模板字面量,如func\template``。

TemplateElement: 模板元素,模板字面量中的字符串片段,可以包含插值表達(dá)式。

TemplateLiteral: 模板字面量,使用反引號(hào)定義的字符串,可以包含插值表達(dá)式和轉(zhuǎn)義字符。

ThisExpression: this表達(dá)式,用于訪問當(dāng)前執(zhí)行上下文的對(duì)象。

ThrowStatement: throw語句,用于拋出異常,如throw error;。

TryStatement: try語句,用于捕獲和處理異常,通常與catch和finally子句一起使用。

UnaryExpression: 一元表達(dá)式,只有一個(gè)操作數(shù)的表達(dá)式,如!x、++x。

UpdateExpression: 更新表達(dá)式,用于自增、自減等操作,如x++、--y。

VariableDeclaration: 變量聲明,使用var、let或const聲明變量,如let x = 1;。

VariableDeclarator: 變量聲明符,表示變量聲明中的單個(gè)變量及其初始化值。

WhileStatement: while語句,一種前測(cè)試循環(huán)語句,如while (condition) { ... }。

WithStatement: with語句,用于擴(kuò)展對(duì)象的作用域鏈,通常不推薦使用。

YieldExpression: yield表達(dá)式,用于生成器函數(shù)中產(chǎn)生值或暫停執(zhí)行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容