Els objectes són una estructura de dades bastant usada en el llenguatge, de fet, considero que és la més important i que moltes vegades no arribem a comprendre d’el tot. Sintàcticament un objecte en JavaScript és un conjunt agrupat entre claus de claus i valors: a
let nombreDelObjeto = {clave_1: valor_1,clave_2: valor:2,clave_3: valor:3,clave_n: valor:n};
Què és un literal?
La definició de literal fa referència a alguna cosa textual, per exemple, si declarem una variable de la següent manera: a
let colorDelSol = "Amarillo";
Podem dir la variable colorDelSol té assignada una cadena literal ja que s’assigna el valor textualment.
Exactament el mateix passa amb els objectes literals, per exemple: a
let perro = { nombre:"Scott", color:"Cafe", edad: 5, macho: true};
On:
el nom de l’objecte és perro i les seves claus / valors es descriuen en la següent taula:
Clau
Valor
Tipus de dada
nom
Scott
string
color
Cafe
string
edat
5
int
mascle
true
bolean
Els tipus de dades que pot emmagatzemar un objecte poden ser strings, enters, boleans, inclusivament altres objectes.
accedir a valors d’un objecte
Existeixen 2 maneres simples per poder accedir als valors d’un objecte:
notació de punt
Consisteix en escriure el nom de l’objecte seguit d’un punt i el nom de la propietat a la qual es vol accedir: objeto.clave a
les dues maneres retornen els mateixos resultats, per tant es poden considerar homònimes, però a la pràctica s’acostuma a fer servir més la notació de punt.
Mètodes en un objecte
Un objecte no només es limita a l’agrupació de claus valors, és possible també incorporar mètodes de la següent manera: a
let perro = { nombre:"Scott", color:"Cafe", edad: 5, macho: true, ladrar: function(){ return(`${this.nombre} puede ladrar`) }};console.log(perro.ladrar()); // Scott puede ladrar
per motius de scope de variables, per accedir als camps d’un objecte dins d’ un mètode, s’ha d’usar la paraula reservada this.
Inserció de nous camps a un objecte
Per afegir nous camps a l’objecte només n’hi ha prou amb esmentar el nom de l’objecte seguit de la propietat nova i el valor nou a inserir: perro.tamaño = "Grande"; a