私は.NETとJavaの分野でかなり経験豊富なプログラマーであり、JavaScriptについて読み始めました。Douglas Crockfordの "The Good Parts"の本を購入しましたが、すぐにいくつかのことが気になりませんでした。
1つは、必要のない基本的な型を変更することです。
if (typeof Object.create !== 'function') {
Object.create = function (o) { //Really... 'o'? For a parameter you're only using twice?
function F() {}
F.prototype = o;
return new F();
};
}
newObject = Object.create(oldObject);
明らかにこの目的で関数を作成すると便利で時間を節約できますが、なぜ地球上でオブジェクト上に作成することを勧めているのですか?3呼吸前に彼はグローバルが悪であることを支持し、それから彼はモンキーパッチオブジェクトに進みました。彼はそれがすでに存在するかどうかさえテストし、他のライブラリが彼のためにそれを行った場合の実装は同じであると仮定します。
名前空間に相当するJSでこれを作成しない理由はありますか?すなわち
MY_UNIQUE_UTIL_LIBRARY.create = function(obj){...}; //The name would be shorter in reality.
誤解しないでください。モンキーパッチは便利だと思いますが、固有の利点がある場合に行うパッチです。ここに表示されませんか?ありますか?
4
+1は、あまりにも多くの強く主張された宗教的議論をしているクロックフォードに質問するためのものです(それらの多くは悪い考えですIMHO)。
—
user949300
それはポリフィルです。古い(ES3)ブラウザーで埋められます。
—
Benjamin Gruenbaum