metodos - ¿Por qué usar métodos públicos en objetos JavaScript?
prototype javascript ejemplos (1)
Respondiendo a esto específicamente:
¿Qué beneficio proporciona el método público que el prototipo no?
Un método agregado dentro del constructor tiene acceso a información privada, por ejemplo:
function Student() {
var name = ''Bob'';
this.GetName = function() {
return name;
}
}
Student.prototype.SomeOtherPublicMethod = function() {
//no access to name
}
Esta pregunta ya tiene una respuesta aquí:
- ¿Uso de ''prototipo'' vs. ''este'' en JavaScript? 14 respuestas
Soy parte de un pequeño grupo de estudio en el trabajo que está tratando de comprender mejor lo que hace funcionar a JavaScript. En nuestras discusiones recientes sobre los objetos, hemos aprendido que los métodos públicos de un objeto se recrean cada vez que se crea una instancia de un objeto, mientras que los métodos asignados al prototipo del objeto solo se crean una vez y son heredados por todas las instancias. Por lo que entiendo, tanto los métodos públicos como los asignados al prototipo son de acceso público.
La pregunta que tengo, entonces, es ¿por qué molestarme en crear métodos públicos si agregar al prototipo es aparentemente más eficiente? ¿Qué beneficio proporciona el método público que el prototipo no?