グローバル変数
プログラム全体から見える変数。現代のプログラミングでは典型的なアンチパターンとされ、カプセル化を壊し、テストと並行処理を難しくする。
JavaScriptでは window.X(ブラウザ)や global.X(Node)、Pythonではモジュールのトップレベルの変数、Cでは関数の外の変数がそれにあたる。現代の代替手段は、依存性注入、モジュールのエクスポート、シングルトンパターン(議論はあるが、グローバルよりはましという程度だ)。
それでも、設定定数、ロガー、実行時のフィーチャーフラグなどにはグローバルが生き残っている。const のグローバルは許容範囲で、問題なのは書き換え可能なグローバルだ。JSのstrictモードとESモジュールは、うっかりグローバルを作ってしまう事故を防ぐ。バンドラーも window への注入に警告を出す。