Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

exercicios

// Pratique a criação e manipulação de objetos. Acesse e modifique propriedades, use loops com for...in e aplique a estrutura de objeto a cenários do dia a dia. Vamos lá!

// Tente realizar os seguintes exercícios:

// 1. Criando um objeto pessoal
// Crie um objeto com seu nome, idade e profissão.

const pessoa = { 
    nome: 'Tairone',
    idade: 36,
    profisao: 'Operario',
}

// 2. Acessando propriedades
// Acesse e exiba o valor da propriedade "nome" no console.

console.log(pessoa.nome)

// 3. Atualizando valores
// Modifique a propriedade "idade" com um novo valor.

pessoa.idade = 35;

console.log(pessoa.idade)

// 4. Adicionando uma nova propriedade
// Adicione ao objeto uma nova propriedade chamada "cidade".

pessoa.cidade = "São João do Oriente";

console.log(pessoa);

// 5. Função com objeto
// Crie uma função que receba um objeto pessoa contendo as propriedades nome, idade e profissao.
// A função deve retornar uma frase montada com concatenação de strings, exibindo os dados da pessoa.

function frasse(){
    console.log('Ola eu sou ' + pessoa.nome + ' tenho ' + pessoa.idade + ' de idade. Sou ' + pessoa.profisao + ' e morro na cidade de ' + pessoa.cidade);
}

frasse(pessoa);

// 6. Lista de pessoas
// Crie um array com 3 objetos, cada um representando uma pessoa com nome e idade.

let objetos = []

const pessoaUm = {
    nome: 'Tairone',
    idade: 36
}

const pessoaDois = {
    nome: 'Nathalia',
    idade: 40,
}

const pessoaTres = {
    nome: 'Daniella',
    idade: 31,
}

objetos.push(pessoaUm);
objetos.push(pessoaDois);
objetos.push(pessoaTres);

console.log(objetos)

let objetosDois = [ 
    {nome: 'Tairone',
    idade: 36},
    {nome: 'Nathalia',
    idade: 40,},
    {nome: 'Daniella',
    idade: 31,}
]

// 7. Filtrando maiores de idade
// Percorra o array e exiba apenas os nomes das pessoas com 18 anos ou mais.

for(const maiorIdade of objetos){
    if(maiorIdade.idade >= 18){
        console.log(`${maiorIdade.nome} é maior de idade.`); 
    }
}

// 8. Objeto com método
// Crie um objeto chamado usuario com as propriedades nome e saudacao.
// A propriedade saudacao deve ser uma função que imprime no console uma mensagem fixa, utilizando o nome armazenado no objeto por acesso direto à propriedade.

const usuario = {
    nome: 'tairone',
    saudacao: function() {
        return console.log('Ola!! Meu nome é ' + usuario.nome);
    }
};
usuario.saudacao();

// 9. Listando propriedades com for...in
// Use um laço for...in para listar todas as propriedades e seus valores do objeto pessoal criado no exercício

for(let chave in pessoa){
    console.log(`${chave}:${pessoa[chave]}`);
}

// 10. Cálculo de compra
// Crie um objeto produto com preco e quantidade, e calcule o valor total da compra(preco * quantidade).

let produto = {
    nome: 'tv',
    preco: 3000,
    quantidade: 20,
}

console.log(produto.preco * produto.quantidade)
1 resposta

Olá, Tairone! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou um objeto para representar dados com JavaScript, utilizou muito bem o for...in para percorrer propriedades e ainda compreendeu a importância da função para manipular e exibir informações de forma dinâmica.

Uma dica interessante para o futuro é aplicar destructuring para tornar o código mais legível ao acessar propriedades de objetos. Assim:

function frase({ nome, idade, profisao, cidade }) {
    console.log(`Olá, eu sou ${nome}, tenho ${idade} anos, sou ${profisao} e moro em ${cidade}.`);
}
frase(pessoa);

Isso faz a função receber diretamente as propriedades do objeto, deixando o código mais claro e moderno.

Se quiser aprofundar ainda mais, algumas boas práticas são:

  • Consistência nos nomes: manter a ortografia correta das propriedades, como profissao em vez de profisao.
  • Uso de métodos de array: aplicar filter, map e forEach para manipular listas de objetos.
  • Organização modular: separar funções em arquivos diferentes quando o projeto crescer.

Ah, uma pergunta: você acha que aplicar técnicas modernas como destructuring deixa o código mais elegante e fácil de manter ou prefere manter a forma tradicional para maior clareza no aprendizado inicial?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!