Oi Lucas, tudo bem?
Sim, é uma boa prática utilizar objetos em vez de valores individuais para representar os produtos em uma loja virtual. Isso permite que você adicione facilmente novas propriedades aos produtos no futuro, se necessário.
É uma boa ideia criar uma classe que transforme os dados do arquivo JSON em objetos e, em seguida, adicionar esses objetos a um array de produtos. Isso torna mais fácil manipular os produtos posteriormente e permite que você crie funções adicionais para trabalhar com esses objetos.
Além disso, se você quer que os valores dos produtos sejam imutáveis, você pode utilizar a propriedade Object.freeze()
do JavaScript para tornar o objeto imutável. Isso impedirá que as propriedades do objeto sejam alteradas posteriormente.
Por exemplo, para criar um objeto de produto imutável a partir de um objeto JavaScript normal, você pode fazer o seguinte:
const produto = {
nome: 'Camiseta',
preco: 19.99,
cor: 'azul',
tamanho: 'G'
};
const produtoImutavel = Object.freeze(produto);
Dessa forma, o objeto produtoImutavel
será imutável e suas propriedades não poderão ser alteradas. Você pode fazer isso com cada objeto de produto que criar, antes de adicioná-lo ao array de produtos.
Resumindo, utilizar objetos para representar os produtos em uma loja virtual e torná-los imutáveis é uma boa prática e pode facilitar muito a manipulação dos dados da loja.
Um abraço e bons estudos.