Skip to content

Metodos de objetos

Cuando trabajamos con objetos en JavaScript, no solo se trata de almacenar datos. ¡También pueden realizar acciones! 🎭 Los objetos suelen representar entidades del mundo real, como usuarios, órdenes, o cualquier cosa que quieras modelar.

Por ejemplo, aquí tenemos un usuario básico:

let user = {
name: "John",
age: 30,
};

Pero un usuario no solo existe, también actúa: puede iniciar sesión, cerrar sesión, o decir hola 👋. Estas acciones se implementan asignando funciones a las propiedades del objeto

Ejemplos de métodos

Enseñemos a nuestro usuario user a decir hola:

let user = {
name: "John",
age: 30,
};
user.sayHi = function () {
alert("¡Hola! 👋");
};
user.sayHi(); // ¡Hola! 👋

Aquí, asignamos una función a la propiedad sayHi. Luego llamamos a esa función con user.sayHi(). 🎉 ¡Listo! Nuestro usuario ahora puede hablar.

Una función asignada como propiedad de un objeto se llama método.

Por lo tanto, en este caso, sayHi es un método del objeto user.

Sintaxis abreviada para métodos ✂️

JavaScript ofrece una forma más corta y elegante de escribir métodos:

// Ambos objetos hacen lo mismo:
user = {
sayHi: function () {
alert("Hello 🌟");
},
};
user = {
sayHi() {
alert("Hello 🌟");
},
};

💡 En la segunda versión, omitimos function y usamos una sintaxis más compacta. Aunque existen pequeñas diferencias relacionadas con herencia, en la mayoría de los casos esta notación es la preferida.

this en métodos 🔍

A menudo, los métodos necesitan acceder a la información dentro del objeto al que pertenecen.

Por ejemplo, el método sayHi() podría necesitar el nombre del usuario:

let user = {
name: "John",
age: 30,
sayHi() {
alert(this.name); // "this" se refiere al objeto actual
},
};
user.sayHi(); // John

¿Qué es this?

this es como un súper poder 🦸. Cuando llamamos a un método como user.sayHi(), el valor de this es el objeto antes del punto. En este caso, this es igual a user.