https://www.ecma-international.org/wp-content/uploads/ECMA-262_5th_edition_december_2009.pdf
npm i -S jsvm2
注:引擎表现为严格模式
- File
- Program
- Identifier
- NullLiteral
- StringLiteral
- NumericLiteral
- BooleanLiteral
- RegExpLiteral
- VariableDeclaration
- FunctionDeclaration
- FunctionExpression
- ArrayExpression
- VariableDeclarator
- ExpressionStatement
- BlockStatement
- ConditionalExpression
- EmptyStatement
- DebuggerStatement
- WithStatement: t.WithStatement; // 不实现,@babel/parse 在严格模式下禁用 WithStatement
- ReturnStatement
- LabeledStatement
- BreakStatement
- ContinueStatement
- IfStatement
- SwitchStatement
- SwitchCase
- ThrowStatement
- TryStatement
- CatchClause
- ForStatement
- WhileStatement
- DoWhileStatement
- ForInStatement
- ThisExpression
- ObjectExpression
- ObjectProperty
- ObjectMethod
- UnaryExpression
- UpdateExpression
- BinaryExpression
- AssignmentExpression
- LogicalExpression
- MemberExpression
- CallExpression
- NewExpression
- SequenceExpression
- VariableDeclaration (let/const)
- ArrowFunctionExpression
- TemplateLiteral
- TaggedTemplateExpression
- ForOfStatement
- ClassDeclaration
- ClassExpression
- ClassBody
- ClassMethod
- MetaProperty
- Super
- TemplateElement
- SpreadElement
- YieldExpression
- ObjectPattern
- ArrayPattern
- RestElement
- AssignmentPattern
- ImportDeclaration
- ExportNamedDeclaration
- ExportDefaultDeclaration
- BinaryExpression
- AwaitExpression
- ImportSpecifier
- ImportDefaultSpecifier
- ExportSpecifier
- SpreadProperty
- DoExpression
- [ ]Decorator
- es5-testsuite
- ECMAScript Test262
- JS 面试题
- 高程内 CASE