Objetos con comportamiento
Un objeto agrupa datos (propiedades) y comportamiento (métodos). Un método es simplemente una función guardada como propiedad:
const cuenta = {
saldo: 100,
ingresar(cantidad) {
this.saldo += cantidad;
},
};
cuenta.ingresar(50);
console.log(cuenta.saldo); // 150
La palabra clave this
Dentro de un método, this se refiere al objeto sobre el que se llamó al
método. Por eso this.saldo accede al saldo de ese objeto concreto.
this es dinámico: su valor depende de cómo se llama a la función, no de
dónde se definió. Cuando llamas cuenta.ingresar(50), this es cuenta.
Las funciones flecha no tienen su propio
this: heredan el del contexto que las rodea. Por eso, para métodos de objeto suele preferirse la sintaxismetodo() { ... }.
Ejemplos
Un objeto con método y this
const contador = {
valor: 0,
incrementar() {
this.valor++;
return this.valor;
},
};
console.log(contador.incrementar());
console.log(contador.incrementar());