DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Updated on

Paracetamol.js馃拪| #190: Explica este c贸digo JavaScript

Explica este c贸digo JavaScript

Dificultad: B谩sico

驴Cu谩l es la manera correcta de llamar a un setter?

class Dog {
  #peso;
  constructor({ color, tamanio, peso=10, cola=true}){
    this.color = color;
    this.tamanio = tamanio;
    this.#peso = peso;
    this.cola = cola;
  }

  set setColor(nuevoColor){
    this.color = nuevoColor;
  }
}

const boby = new Dog({
  color: "cafe",
  tamanio: "grande"
});

console.log(boby.color); //cafe

boby.setColor("rojo"); //A 
boby.setColor = "rojo"; //B
Enter fullscreen mode Exit fullscreen mode

A. A
B. B
C. Ninguna de las anteriores

Respuesta en el primer comentario.


Top comments (4)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:
B. B

El m茅todo setColor es un setter que recibe un par谩metro, entonces es tentador marcar A como respuesta correcta justamente por ese par谩metro, pero al igual que con los getters, los setters son m茅todos especiales y la manera correcta de llamarlos es asign谩ndoles el nuevo valor como si de un objeto literal se tratara, por ende la respuesta correcta es B.

Collapse
 
chema profile image
Jos茅 Mar铆a CL

B

Collapse
 
hiholas profile image
Nico Delgado

Hola, no conoc铆a esa forma de programar en JS, creo que he estado mucho tiempo con React y Vue :c. Adem谩s de buscarlos por su nombre, hay POO en JS?

Collapse
 
duxtech profile image
Cristian Fernando

JavaScript desde siempre fue un lenguaje orientado a prototipos, pero como todos los otros lenguajes con los que compet铆a eran orientado a objetos tuvo que actualizar su sitaxis para incorporar clases y as铆 ser un lenguaje un poco mas "serio".

Antes de los hooks react era con clases, ahora frameworks de node como nest usan POO con js, as铆 que vale la pena al menos saber la sintaxis.