Сообщение от nerv_
|
и при этом эти "элементарные типы" имеют методы и свойства
|
мм... ну да, при обращении к полям переменной элементарного типа, она неявным образом подменяется соответствующим объектом. Но при сложении обращения к полям нет. Даже если в вашем коде случается вызов конструктора, пара десятков копирований по ссылке замедляют работу конструктора незначительно.
В вашем 1-м варианте вы предварительно сохраняете ссылку на метод в свойство конструктора. Я сохраняю в независимую переменную. Куда бы мы её не сохраняли - принцип один и он не имеет отношения к теме наследований.
А во 2-м предложенном варианте вы создадите объект другой структуры:
{ // A
__proto__: { // B
a: function () {},
b: function () {},
__proto__: { // C
c: function () {}
}
}
}
Что-то я тут расфлудился) Надеюсь, я никого не утомил своими изысканиями.