【JavaScript】for…inであるオブジェクトにできることを探す

 JavaScriptのfor…inは列挙可能プロパティを総なめする構文です。

for…in – JavaScript | MDN
 for…inはforEachと異なり数え上げが不可能なオブジェクトに対しても行えます。例えばブラウザのwindowです。

 これを用いてグローバル汚染を見つけるブックマークレットがあります。

javascript:(function () {
    var r = '', w = open('', '', 'width=600,height=700');
    for (var p in window) if (!(p in w)) r += p + '<br>';
    w.document.write(r);
})();

 
グローバル汚染を見つける – Qiita

使用例はワードプレスの編集画面です。jQueryを始めとして混雑しています。
 このコードは新規にまっさらなwindowを作り、それに含まれない元のwindow以下についているプロパティはグローバル領域に追加されたものと判断し、新規windowに記述していく、というものです。

 JavaScriptにおいてfunctionはオブジェクトでありプロパティです。このため、ある機能的なライブラリの出力したオブジェクトについてfor…inをかけるとfunctionを探し、できることを探せます。例えば次です。テストツール’@vue/test-utils’のできることを探しました。実行可能な関数の名前が列挙されています。これだけでも説明書なしでできることがまあまあ分かります。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG