DevPath · Aprende a programar ESPTEN

Programación orientada a objetos

Objetos y this

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 sintaxis metodo() { ... }.

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());
Pon esto en práctica

DevPath es un curso práctico: aquí lees la teoría; en la app la pones en práctica con ejercicios que se ejecutan de verdad, sin conexión.

Empezar gratis en la app →
Clases, constructor y métodos →