グローバル汚染を断つ:ES Modulesにおけるトップレベルスコープの真実
フロントエンドのアーキテクチャを語る上で、私たちは長年「いかにしてグローバルスコープをクリーンに保つか」という泥沼の戦いを繰り広げてきました。かつてはIIFE(即時関数実行)でスコープを擬似的に作り出し、`window`オブジェクトを汚さないよう祈るようにコードを書いていたものです。
しかし、ES Modules (ESM) の普及により、その戦いは終焉を迎えました。……というのは建前で、実際には「モジュールスコープ」という概念を正確に理解せず、レガシーなスクリプトタグの感覚でコードを書き続け、不可解なメモリリークや競合に苦しむエンジニアが後を絶ちません。
今日は、ESMのトップレベルスコープがブラウザのレンダリングエンジンやメモリ管理にどのような影響を与えるのか、その深淵を覗いてみましょう。
—
スクリプトとモジュールの決定的分岐点
まず、基本を整理しましょう。`

コメント