Herança JavaScript: Object.create vs. new
O conceito de herança em JavaScript pode ser confuso, pois existem várias abordagens para alcançar isto. Este artigo tem como objetivo esclarecer os métodos mais aceitos e fornecer uma solução para seu cenário específico.
Compreendendo Object.create e novo
Object.create é um método que cria um novo objeto herdando de um objeto existente. Isso é útil quando você deseja criar um objeto base e estendê-lo com propriedades e métodos adicionais. A sintaxe para Object.create é:
Object.create(prototype[, propertiesObject])
Por outro lado, a palavra-chave new é usada para criar uma nova instância de um objeto e invocar sua função construtora. A sintaxe para new é:
new ConstructorFunction([arguments])
Escolhendo o método correto para herança
A escolha entre Object.create e novo depende de seus requisitos específicos. Object.create é ideal para criar objetos base dos quais você deseja herdar sem invocar seus construtores. Por exemplo:
const Model = { // Base object properties and methods... }; const RestModel = Object.create(Model);
Se, no entanto, você deseja chamar a função construtora do objeto base no objeto herdado, então você deve usar new. Por exemplo:
function Model() { // Base object constructor... } function RestModel() { Model.call(this); // Additional properties and methods... }
Solução para seu cenário
No seu caso, você deseja herdar o RestModel do objeto base do modelo. Para conseguir isso usando Object.create, você faria o seguinte:
RestModel.prototype = Object.create(Model.prototype);
Isso criará um novo protótipo RestModel que herda do Protótipo de modelo.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3