こんにちは!フロントエンドからNode.jsの深層までコードを書き続けているシニアアーキテクトです。
今回は、JavaScriptを学び始めた方や、他の言語からやってきた開発者が最も混乱しやすいポイントの一つである「Node.jsのモジュールスコープ(CommonJS vs ESM)」について、深く掘り下げてお話ししていきましょう。
「あれ、この変数、他のファイルから見えなくなっちゃった?」「`require`と`import`で何が違うの?」そんな疑問を持ったことはありませんか?
ここをクリアすれば、JavaScriptのモジュールシステムと変数のスコープに関する基本はバッチリマスターできますよ。一緒にコードの裏側の世界を覗いてみましょう!
—
1. Node.jsのモジュールスコープとは何か?
まず大前提として、Node.jsの世界では、「1つのJavaScriptファイル=1つの独立した小部屋(モジュール)」というルールになっています。
ブラウザの古いJavaScript(あるいはプレーンなHTMLの`