objetos-en-javascript

Cómo usar objetos en JavaScript

En JavaScript, un Objeto es una agrupación de propiedades bajo una única variable. Es una forma mucho más cómoda de gestionar datos, que teniéndolo en variables separadas.

Bajo el capo, una propiedad es una combinación de:

  • Clave (el “nombre” de las variables internas)
  • Valor (el “valor” de las variables internas)

Vamos a verlo con un ejemplo. Imagina que quisieras representar una persona en JavaScript, podrías hacerlo así:

let persona = {
    nombre: "Luis",
    edad: 30,
    conyuge: "Maripili"
};
  • nombre, edad y conyuge son propiedades del objeto persona.
    • Cada propiedad tienen una Clave (por ejemplo, nombre)
    • Cada propiedad tiene un Valor (por ejemplo, Luis)

Es mucho más cómodo maneja tu persona así agrupada, que como variables sueltas

Cómo crear objetos

Existen varias formas de crear un objeto en JavaScript. Las más comunes son:

Sintaxis de objetos literal

La forma más común de crear un objeto en JavaScript es usando la notación literal de objetos, o notación de llaves

Esta sintaxis consiste en definir el objeto entre llaves {}, donde cada propiedad o método se declara como clave: valor.

let persona = {
    nombre: "Luis",
    edad: 30,
    conyuge: "Maripili"
};

O, también puedes crear un objeto “vacío” así

let persona = {};

Uso del constructor Object

Otra manera de crear objetos es usando el constructor del objeto Object (es menos común pero igualmente válido).

let persona = new Object();

// el objeto no tiene propiedades
// podemos añadírselas posteriormente
persona.nombre = "Luis";
persona.edad = 30;
persona.profesion = "Maripili";

Uso de clases (ES6)

JavaScript es un lenguaje orientado a prototipos, pero en ES6 se introdujo la sintaxis de clases, que facilita la creación de objetos utilizando una estructura más familiar para quienes vienen de lenguajes como Java o C++.

Acceso a las propiedades y métodos

Hay dos maneras principales de acceder a las propiedades de un objeto: la notación de punto y la notación de corchetes

La notación de punto es la forma más común y legible de acceder a las propiedades y métodos.

console.log(persona.nombre); // Imprime: "Luis"

La notación de corchetes es útil cuando se desea acceder a una propiedad cuyo nombre puede variar dinámicamente (como una variable). O cuando el nombre de la propiedad contiene caracteres especiales o espacios.

console.log(persona["edad"]); // Imprime: 30

Lo veremos en su propio artículo

Manipulación de objetos

En JavaScript no solo podemos modificar los valores de las propiedades de los objetos. También podemos añadirlas o eliminarlas dinámicamente.

Añadir propiedades

Puedes añadir nuevas propiedades a un objeto en cualquier momento:

estudiante.carrera = "Ingeniería";

Eliminar propiedades

Para eliminar propiedades, utiliza el operador delete:

delete estudiante.carrera;

Comprobar la existencia de propiedades

Utiliza el operador in para verificar si una propiedad existe en un objeto:

console.log("nombre" in estudiante); // true
console.log("carrera" in estudiante); // false

Funciones en objetos

Los objetos en JavaScript no solo almacenan datos. También pueden .contener funciones. Cuando una función es parte de un objeto, se le llama método.

let persona = {
    nombre: "Luis",
    edad: 30,
    saludar: function() {
        console.log("Hola, mi nombre es " + this.nombre);
    }
};

persona.saludar();
  • nombre, edad y profesion son propiedades del objeto persona.
  • saludar es un método, que es una función asociada al objeto.
  • Para invocar el método saludar() debemos usar () después del nombre de la propiedad.

Esto es así porque en JavaScript las funciones son ciudadanos de primer orden. Es decir, que pueden guardarse en variables, igual que cualquier otro valor.