Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

273
Visualizações
Comprender el prototipo creado a partir de una instancia `nueva`

De los new documentos de MDN dice:

La nueva palabra clave hace lo siguiente:

  1. Crea un objeto JavaScript simple y en blanco.
  2. Agrega una propiedad al nuevo objeto ( __proto__ ) que se vincula con el objeto prototipo de la función constructora

Entonces, ¿cómo se define exactamente el prototipo? Mi pensamiento fue que sería:

  • Si está en una función (sin usar la palabra clave class ), buscaría si hay un [Constructor].prototype declarado en algún lugar y lo usaría, y si no, recurriría a... (¿no está seguro?). Como ejemplo, si el constructor se llama Range , buscaría si Range.prototype está definido y lo usaría como prototipo.
  • Si está en una class , usaría todos los métodos o propiedades para construir el prototipo.

¿Es más o menos una comprensión correcta, o qué me podría estar perdiendo?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No importa si el constructor se declara con sintaxis de clase o como una function , el objeto <constructor.prototype> siempre existirá, incluso si nunca se lo menciona explícitamente. Ejemplo:

 function FooFn() {} class FooClass{} console.log(FooFn.prototype); console.log(FooClass.prototype);

Estos objetos .prototype son objetos simples que se convierten en el prototipo interno de las instancias creadas con el new . También tienen una propiedad .constructor que apunta al constructor (la función/clase utilizada para crear una instancia).

Entonces no es exactamente eso

buscaría para encontrar si hay un [Constructor].prototype declarado en algún lugar y lo usaría

sino que dicha propiedad siempre existe en funciones y clases, y cuando se crea una instancia con new , el objeto dentro de la propiedad .prototype se convierte en el prototipo interno de la instancia.

Si está en una clase, usaría todos los métodos o propiedades para construir el prototipo.

No exactamente: una clase es principalmente azúcar sintáctica para una función. Qué hace esto:

 class Foo { method() { console.log(); } }

es casi exactamente (pero no del todo) lo mismo que

 function Foo() {} Foo.prototype = function method() { console.log(); }

Los métodos se asignan al objeto .prototype de la clase cuando ocurre la declaración de la clase, no cuando se crea una instancia.

 class X { xMethod() { } } console.log(X.prototype); console.log(X.prototype.hasOwnProperty('xMethod')); console.log(X.prototype === (new X).__proto__);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda