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
A. A
B. B
C. Ninguna de las anteriores
Respuesta en el primer comentario.
Top comments (4)
Respuesta:
B.
B
El método
setColor
es un setter que recibe un parámetro, entonces es tentador marcarA
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 esB
.B
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?
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.