No tópico anterior falamos de Listas, porém nós em nenhum momento exploramos como podemos declarar as listas. Nesse tópico nós veremos as duas estruturas principais do JavaScript, os Objetos, e as Listas.
Listas
São declaradas utilizando
[ /* ... */ ]
, e elas são acessadas utilizando indices de valores numericos, veja esse exemplo:
var lista = ["😴", "😄", "😃" ];
lista[0] // 😴
lista[1] // 😄
lista[2] // 😃
É comum listas armazenarem apenas valores dos mesmos tipos, porém, não é uma regra isso. Nós podemos declarar listas contendo qualquer tipo de dados. Com listas nós podemos ordenar, filtrar, remover e adicionar elementos.
var lista = ["🥚","🐔"];
lista.pop() // Removendo o último elemento da lista
lista // [ "🥚" ]
lista.push("🥚") // Adicionando um elemento no fim da lista
lista // [ "🥚", "🐔", "🥚" ]
lista.sort() // Ordenando a lista
lista // ["🐔", "🥚"]
lista[0] // 🐔
Objetos
São declarados utilizando
{ /* ... */ }
, e elas são acessadas utilizando indices com valores ou de strings, ou números, veja esse exemplo:
var objeto = {
dormindo: "😴",
feliz: {
muito: "😄",
pouco: "😃"
}
};
objeto.dormindo // 😴
objeto.feliz.muito // 😄
objeto.feliz.pouco // 😃
Como você pode ver no exemplo anterior, objetos podem conter outros objetos, e listas. Nós chamamos esse tipo de estrutura de estrutura multidimensional. Por conta de termos índices variáveis, para sabermos as chaves de um objeto, podemos utilizar a função
Object.keys
, veja esse exemplo:
var objeto = {
dormindo: "😴",
feliz: {
muito: "😄",
pouco: "😃"
}
};
objeto.keys() // [ "dormindo", "feliz" ]
E para pegarmos os valores multiníveis nós precisaríamos percorrer o objeto utilizando funções mais complexas. Objetos são ótimos para armazenar valores de forma compreensível para humanos por podermos utilizar palavras para identificar cada item.