Explica este código JavaScript
Dificultad: Básico
function Student(nombre, apellido, edad){
this.nombre = nombre;
this.apellido = apellido;
this.edad = edad;
}
Student.prototype.getNombreCompleto = function(){
console.log(this.nombre + " " + this.apellido);
}
const juanito = new Student("Juan", "Ramirez", 26);
console.log(juanito.getNombreCompleto()); //??
A. undefined undefined
B. null null
C. Juan Ramirez
D. SyntaxError Student.propotype.getNombreCompleto is not a function
Respuesta en el primer comentario.
Respuesta:
C. Juan Ramirez
Javascript es un lenguaje orientado a prototipos, desde su creación en 1995 fue concebido de esta manera, entonces podemos usar funciones como clases para abstraer la lógica del programa.
Quizá lo mas curioso de esta sintaxis es la creación de métodos usando la palabra reservada prototype
que añade el método getNombreCompleto
a todas las instancias creadas con Student
.
La instanciación de objetos se hace como si se tratase de clases de toda vida. De hecho la sintaxis de clases agregada en ES6 al lenguaje es solo sugar syntax ya que por dentro todo se hace con prototipos.
Top comments (0)