Сорри, не подумал конечно же. Расширяя child.prototype, мы расширяем parent.prototype.
Тогда так:
for(var i in parent.prototype){
if( {}.hasOwnProperty.call(parent, i) )
child.prototype[i] = parent.prototype[i];
}
// или, если есть jquery, $.extend(child.prototype, parent.prototype);
Либо они специально, либо у них реально руки кривые. А скорее всего, и то, и другое.
Бесит уже. Африканцы — это афроамерианцы — так что ли?
А в России, наверное руссоамериканцы.
И я не совсем понимаю. Вы предлагаете мне писать так?:
Я объявляю класс Shape и реализую их в рамках него. А затем просто наследую от него остальные.
Вы мне предлагаете (без наследования) реализовывать их каждый раз заново?
Тогда так:
И на баше можно вроде
А про отсутствие классов в JS…
Что это такое, как не класс? Просто они создаются по другому.
И ещё добавлю, что многие функции прототипа Array работают с массиво-подобными объектами (индексы [0], [1], свойство length...).