1
resposta

Porque com a impressão desta linha de código, ele esta excluindo o telefone?

const cliente = {
    nome: "Pedro",
    idade: 17,
    email: "valotto18102005@gmail.com",
    telefone: ["11 941991810", "11 971313464"],

}

cliente.enderecos = [{
    rua: "Jordan Lepoldino",
    numero: 22,
    apartamento: true,
    complemento: "ap 123",
},];

for (let chave in cliente){
    let tipo = typeof cliente[chave]; 
    if (tipo !== 'object' && tipo !== 'function' ) {
        console.log(`A chave ${chave} tem o valor ${cliente[chave]}`);
    }
}
--------

A chave nome tem o valor Pedro A chave idade tem o valor 17 A chave email tem o valor valotto18102005@gmail.com

1 resposta

Olá, Valotto!

Isso está acontecendo porque na estrutura de dados do seu objeto "cliente", o telefone é um array, que é um tipo de objeto em JavaScript.

No seu loop for...in, você adicionou uma condição que exclui os tipos 'object' e 'function' da impressão. O array de telefones está sendo excluído devido a essa condição, pois, como mencionei, um array é um tipo de objeto.

Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!