Saya seorang programmer yang cukup berpengalaman di bidang .NET dan Java, dan saya sudah mulai membaca tentang JavaScript. Saya membeli buku "The Good Parts" karya Douglas Crockford, dan saya langsung menunda beberapa hal.
Salah satunya adalah memodifikasi tipe dasar tanpa perlu:
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);
Jelas membuat fungsi dengan tujuan ini berguna dan menghemat waktu, tetapi MENGAPA DI BUMI dia merekomendasikan membuatnya di Object? Tiga napas yang lalu ia menganut bahwa global adalah jahat, dan kemudian ia melanjutkan ke Object patch monyet. Dia bahkan menguji apakah sudah ada, dan hanya berasumsi bahwa jika beberapa perpustakaan lain melakukannya untuknya implementasinya sama.
Apakah ada alasan untuk tidak membuat ini dalam JS yang setara dengan namespace? yaitu
MY_UNIQUE_UTIL_LIBRARY.create = function(obj){...}; //The name would be shorter in reality.
Jangan salah paham, saya pikir tambalan monyet berguna, tapi itu sesuatu yang Anda lakukan ketika ada manfaat yang melekat. Saya tidak melihatnya di sini? Apakah ada satu?