Copiar protótipo para herança?

Eu estava brincando com JavaScript em particular, simulando programação orientada a objetos com classes e outras coisas.

Eu sabia sobre esse jeito de conseguir herança

MyClass.prototype = new AnotherClass();

Mas eu não estava satisfeito, eu não gostei de como eu precisava chamar o construtor deAnotherClass. Então eu estava brincando e eu apareci com algo que parecia funcionar e basicamente queria uma segunda opinião.

function clone (obj)
{
    function CloneFactory () {}
    CloneFactory.prototype = obj;

    return new CloneFactory();
}

MyClass.prototype = clone(AnotherClass.prototype);

Ao clonar o protótipo, obtemos uma nova cópia e atribuímos isso aMyClassO protótipo de modo que a alteração das propriedades herdadas não afetará as propriedades do protótipo do pai. Como isso seriaMyClass.prototype = AnotherClass.prototype.

Eu fiz testes de estresse e isso é mais eficiente sob certas circunstâncias, ou seja, quando há muito código no construtor do pai, caso contrário, é quase o mesmo. Outro benefício (ou pelo menos eu acho benéfico) é que ele permite, até certo ponto, ocultar informações das subclasses. Quaisquer métodos e membros privilegiados NÃO serão herdados.

Existe alguma grande armadilha que eu estou negligenciando?

Eu não sou um especialista em JavaScript, na verdade sou relativamente novo em JavaScript, então gostaria de ter uma segunda opinião sobre isso, porque não consigo encontrar nada no Google. Eu não quero implementar código ruim :)!

questionAnswers(1)

yourAnswerToTheQuestion