Я про классы. Когда мы пишем, например,
MyClass=function(){}
MyClass.prototype=someObject
следует, наверное, понимать, что классом тут является не MyClass, а MyClass.prototype, а MyClass является всего лишь конструктором, с опциональной инициализацией.
Соответственно, мы с тем же успехом можем писать
MyClass={
create: function(){return Object.create(this)},
//enother fields here
}
На мой взгляд, из-за этого дерьма происходит много путаницы. Многоие разработчики вообще тупо путают классы с конструкторами, да и собственно, кто сказал, что засирать без надобности глобальное пространство имен есть гуд?
Кроме всего прочего, во втором варианте код всегда лаконичней и ясней.
Почему массово принято это извращение? Это связано с оптимизацией, или что?