最近の言語処理系では、コンパイラとインタプリタの区別がしにくくなっています。対話的処理系でも、内部ではコンパイラが走っていることが多いからです。JavaScriptも、「コンパイラかインタプリタか?」を判断しにくい実行形態ですね。しかし、コンパイラとして、あるいはインタプリタとしてのJavaScript処理方式を理解してないと、プログラミングで戸惑<とまど>うこともあるので、今回はこの点をハッキリさせましょう。 ●JavaScriptの典型的な実行モデル 現実の実装は色々でしょうが、ここでは、JavaScriptは次のように実行されると考えましょう: ソースコードはコンパイラによりJavaScript仮想機械(以下、JSVMと略記)のコード列にコンパイルされる。 コンパイル済みコード列がJSVMにより実行される。 コンパイル中も実行中も、オブジェクト構造が参照され変更される。 通常、コンパ