Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sobre o for in

eu fiquei com duvida sobre essa palavra {continue} se eu fizer sem mencionar ela ficará errado?

como a Ju falou, precisamos verificar dois tipos, se é object e se é function, então vou colocar o ou aqui no código || fazer um outro typeof cliente[info] === “function”), verifiquei, se for igual a function eu abro chaves {continue} e dou a palavra-chave continue e se não for, ai sim, o else {relatorio += ' - ${cliente[info]}'}, se não for ele vai exibir a informação.

1 resposta
solução!

Oi Mirian,

Eu não entendi muito bem a sua pergunta. Você quer saber se está errado criar o if para verificar se a propriedade é do tipo obj ou function e dentro do bloco do if você não colocaria o continue, deixaria o bloco vazio?

Eu fiz um teste aqui e coloquei o código assim:

let relatorio = "";
for (let chave in cliente) {
  if (
    typeof cliente[chave] === "object" ||
    typeof cliente[chave] === "function"
  ) {

  }else{
    relatorio += `
    ${chave}: ${cliente[chave]}`
  }
}
console.log(relatorio);

Quando eu rodei com o node ele não deu nenhum erro, o resultado foi esse:

$ node testes.js 

    nome: Bruno
    cpf: 1345678910
    telefone: 99999999999
    email: bruno@email.com
    saldo: 100

Apesar de nesse contexto o código ter rodado normalmente, acredito que deve ser uma boa pratica usar o continue para evitar bugs, já que a função da palavra reservado continue é "termina a atual iteração do laço em que ele se encontra ou de um laço rotulado, e continua a execução deste laço com a próxima iteração." https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/continue

Espero ter contribuído de alguma forma.

Abraços!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software