Facebook の JS SDK は最近、Object.keys()
やなどの新しい ES5 Javascript メソッドの使用を開始しまし[].map()
た。ES5()
元のオブジェクト、目的のメソッドの名前、およびパラメーターを受け入れる関数を持つことにより、古いブラウザーを引き続きサポートします。次に、ネイティブ メソッドが使用できない場合は、ネイティブ メソッドまたは同等の JS メソッドのいずれかを実行します。例えば:
ES5(g.api.whitelist, 'forEach', true, function(ca) {
s[ca] = 1;
});
または最上位オブジェクトの場合、
ES5('JSON', 'parse', false, r.responseText);
これはプリプロセッサの結果であると思われます.FBの開発者は実際には次の行に沿ってさらに何かを書いています.
g.api.whitelist.forEach(function(ca) {
s[ca] = 1;
});
と
JSON.parse(r.responseText);
(おそらく、より長い変数名も)
さて、プリプロセッサがあると私が正しいと仮定すると、ES5() 関数と関連するプリプロセスはオープンソース プロジェクトですか、それとも社内のものですか? 社内の場合、オープンソース化の可能性について FB の誰かがコメントできますか? それは私が非常に便利だと思うものです。