Em JavaScript, objetos são estruturas de dados que permitem armazenar valores em pares de chave e valor. As chaves são strings que servem como identificadores únicos para cada valor.
Para criar um objeto, podemos utilizar a notação literal de objeto:
bashlet pessoa = {
nome: "João",
idade: 30,
profissao: "Desenvolvedor"
};
Podemos acessar as propriedades do objeto utilizando a notação de ponto ou de colchetes:
arduinoconsole.log(pessoa.nome); // "João"
console.log(pessoa["idade"]); // 30
Também podemos adicionar novas propriedades a um objeto a qualquer momento:
perlpessoa.email = "joao@exemplo.com";
console.log(pessoa.email); // "joao@exemplo.com"
Podemos também percorrer as propriedades de um objeto utilizando um laço for...in:
javascriptfor (let propriedade in pessoa) {
console.log(`${propriedade}: ${pessoa[propriedade]}`);
}
As propriedades de um objeto podem conter qualquer tipo de valor, inclusive outras estruturas de dados, como arrays e objetos aninhados:
csslet produto = {
nome: "Camiseta",
preco: 29.90,
tamanhos: ["P", "M", "G"],
detalhes: {
composicao: "100% algodão",
fabricante: "Marca X"
}
};
Para acessar uma propriedade aninhada, podemos encadear as notações de ponto ou colchetes:
arduinoconsole.log(produto.tamanhos[0]); // "P"
console.log(produto["detalhes"]["fabricante"]); // "Marca X"
Além disso, é possível definir métodos em um objeto, que são funções que podem ser executadas a partir do objeto:
javascriptlet pessoa = {
nome: "João",
idade: 30,
profissao: "Desenvolvedor",
saudacao: function() {
console.log(`Olá, meu nome é ${this.nome} e tenho ${this.idade} anos.`);
}
};
pessoa.saudacao(); // "Olá, meu nome é João e tenho 30 anos."
Nesse exemplo, utilizamos a palavra-chave this
para nos referirmos ao próprio objeto dentro do método.