Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
Diferencia entre la función definida dentro del constructor de objetos versus en el prototipo

¿Cuál es la diferencia entre los siguientes fragmentos de código?

 function Student(name, grade) { this.name = name this.grade = grade } Student.prototype.sayName = function() { console.log(this.name) } Student.prototype.goToProm = function() { console.log("Eh.. go to prom?") }
 function Student(name, grade) { this.name = name this.grade = grade this.sayName = function() { console.log(this.name); } this.goToProm = function() { console.log("Eh.. go to prom?") } }

Aparentemente, la primera forma es mejor:

Si está utilizando constructores para crear sus objetos, es mejor definir funciones en el prototipo de ese objeto . Si lo hace, significa que una única instancia de cada función se compartirá entre todos los objetos de Estudiante. Si declaramos la función directamente en el constructor, como hicimos cuando se introdujeron por primera vez, esa función se duplicaría cada vez que se crea un nuevo Estudiante. En este ejemplo, eso realmente no importaría mucho, pero en un proyecto que está creando miles de objetos, realmente puede marcar la diferencia.

¿Alguien puede explicar esto un poco más?

Según tengo entendido, si lo agregamos al prototipo (padre) de Student cuando creamos nuevos objetos, solo se crearán con nombre y calificación en lugar de que cada objeto asigne más datos en el montón para contener las definiciones de funciones para sayName y goToProm y luego pueden utilizar las funciones que se definen en el padre de Estudiante.

¿Es esta la razón por la cual?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda