こんにちは!JavaScriptのコアな仕組みへようこそ。
今回は、Node.jsの世界で避けて通れない「変数」の隠れた挙動、そして `require`(CommonJS)と `import`(ESM)でなぜ変数の見え方が変わるのかという深遠なテーマについて紐解いていきます。
「あれ、このファイルで宣言した変数なのに、別のファイルから見えないぞ?」
「グローバル空間を汚していないはずなのに、どこからか変数が漏れている気がする…」
そんな疑問を持ったことはありませんか?ここをクリアすれば、あなたもJavaScriptのランタイムの挙動を手の内に入れたも同然です。さあ、V8エンジンとNode.jsの内部世界へ一緒に出発しましょう!
—
1. Node.jsのモジュールスコープという「見えない壁」
ブラウザでJavaScriptを書くとき、`