読者です 読者をやめる 読者になる 読者になる

ECMAScript の(構文上の)ごく基本的な構造

とてつもなく基本的なことでありながらいつも忘れてしまうのでここにメモしておく。

ProgramStatementExpression

基本的な流れ。これ以外の代表的な要素としては…。

  • BlockStatement の下。さらに Statement を含める(複文を作れる)。
  • Expression の下に AssignmentExpressionAssignmentExpressionLeftHandSideExpression AssignmentOperator AssignmentExpression
  • LeftHandSideExpressionNewExpressionCallExpressionNewExpression の下に MemberExpression がいて、その下にやっと PrimaryExpressionFunctionExpression がいます。
Program
	SourceElements
		Statement
			Block
			VariableStatement
			EmptyStatement
			ExpressionStatement
				Expression
					AssignmentExpression
						LeftHandSideExpression AssignmentOperator AssignmentExpression
							NewExpression
								MemberExpression
									PrimaryExpression
									FunctionExpression
									MemberExpression [ Expression ]
									MemberExpression . Identifier
									new MemberExpression Arguments
								new NewExpression
							CallExpression
								MemberExpression Arguments
								CallExpression Arguments
								CallExpression [ Expression ]
								CallExpression . Identifier
			IfStatement
			IterationStatement
			ContinueStatement
			BreakStatement
			ReturnStatement
			WithStatement
			LabelledStatement
			SwitchStatement
			ThrowStatement
			TryStatement
		FunctionDeclaration

素直にこれ貼った方がわかりやすかったですか?。超抜粋です。 if とか while とか制御文系の詳細は抜いてあります。でもこんな感じ。この辺が頭に入っていると ECMAScript の「変な書き方」が普通に読めるようになるかと。

でも最初に頭に入れる必要はないですよね。「変な書き方」「違和感のある書き方」に出会ったときに振り返ればいいのかなと思います。私はそうします。