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
yconyuge
son propiedades del objetopersona
.- Cada propiedad tienen una Clave (por ejemplo,
nombre
) - Cada propiedad tiene un Valor (por ejemplo, Luis)
- Cada propiedad tienen una Clave (por ejemplo,
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
yprofesion
son propiedades del objetopersona
.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.