Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

191
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!