DEV Community 👩‍💻👨‍💻

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js💊| #185: Explica este código JavaScript

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()); //??
Enter fullscreen mode Exit fullscreen mode

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)

"I made 10x faster JSON.stringify() functions, even type safe"

☝️ Must read for JS devs