🔍
JavaScriptのグローバル変数がいるかどうか検索するワンライナーコード
問題点
旧来のJavaScriptは、もともと依存関係管理の仕組みを持たず、また開発者自身にその意識も低かったことから、レガシーWebシステムの保守・改修案件においてはグローバル変数を多用しているケースがあります。
特に中規模〜大規模のシステムになると多数のグローバル変数が存在し、グローバル変数がいないせいでエラーになったりします。
そこで、ブラウザのコンソールに入力して手軽にグローバル変数を検索できるワンライナーを書いてみました。
for (key in window) {if(key.indexOf("検索したいグローバル変数名")!=-1) console.log(key);}
FirefoxやChromeのコンソールにコピペして実行してください。
解説
グローバル変数はwindowオブジェクトにその変数名をキーとして格納されるので、windowオブジェクトでfor in文を回し、string#indexOfの戻り値が-1でないものをコンソール上に表示します。
厳密には変数名の完全一致ではなく部分一致(検索したいグローバル変数名を含むグローバル変数を検索)ですが、実際にグローバル変数を探すときにはこちらのほうが使いやすいかと思います。
Discussion