


Usando coleções em JavaScript para armazenar e manipular objetos relacionados
Coleções são uma forma de agrupar objetos relacionados. Em JavaScript, você pode usar o método `Object.defineProperty()` para definir propriedades em um objeto que não são enumeráveis e não podem ser modificadas pelos usuários. Essas propriedades são chamadas de "coleções" porque permitem armazenar e manipular grupos de objetos relacionados de uma maneira semelhante à forma como você usaria um array ou uma lista.
Aqui está um exemplo de como você pode usar coleções em JavaScript:
```
const pessoa = {
nome: 'John',
idade: 30,
endereços: [
{ rua: '123 Main St', cidade: 'Anytown', estado: 'CA' },
{ rua: '456 Elm St', cidade: 'Anytown', estado: 'CA' }
]
};
// A propriedade de endereços é uma coleção de objetos
console.log(person.addresses); // Saída: [{ rua: '123 Main St', cidade: 'Anytown', estado: 'CA' }, { rua: '456 Elm St', cidade: 'Anytown', estado: 'CA' }]
// Você pode adicionar novos endereços à coleção usando o método push()
person.addresses.push({ street: '789 Oak St', city: 'Anytown', state: 'CA' });
// Você pode acessar as propriedades de cada objeto de endereço na coleção
console.log(person.addresses[0].street); // Saída: '123 Main St'
console.log(person.addresses[1].city); // Saída: 'Anytown'
```
Neste exemplo, a propriedade `addresses` é uma coleção de objetos que contém informações sobre os endereços da pessoa. Você pode usar o método `push()` para adicionar novos endereços à coleção e pode acessar as propriedades de cada objeto de endereço na coleção usando a notação de ponto.
Coleções são úteis quando você precisa armazenar e manipular grupos de objetos relacionados em JavaScript. Eles permitem definir propriedades em um objeto que não são enumeráveis e não podem ser modificadas pelos usuários, o que pode ajudá-lo a proteger a integridade dos seus dados.



