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

[Sugestão] For...of vs For...in

A minha função imprimir estava acusando um erro, mas eu descobri o porque e gostaria de compartilhar pois pode ajudar alguém.

Ela estava assim:

export function imprimir(...objetos: Imprimivel[]){
    for(let objeto in objetos){
        console.log(objeto.paraTexto())
    }
}

Erro: A propriedade 'paraTexto' não existe no tipo 'string'.

Eu não conhecia a iteração for...of, automaticamente escrevi for...in e caí no erro.

Segundo a MDN o for...of itera apenas sobre as coleções ao invés de todas as propriedades do objeto. Dessa forma acredito que seu uso seja mais aconselhável ao se trabalhar com Typescript

Fonte e exemplos: Diferença entre for...of e for...in

1 resposta
solução!

Olá, Eduardo!

Como você mencionou, o for...in itera sobre todas as propriedades enumeráveis de um objeto (incluindo as que estão na cadeia de protótipos), enquanto o for...of itera sobre os valores das propriedades, não suas chaves, e é mais adequado para trabalhar com coleções onde a ordem é importante.

Agradecemos por compartilhar essa questão, sua observação é muito relevante para quem está aprendendo TypeScript e JavaScript, pois ajuda a entender a diferença entre essas duas formas de iteração e quando usar cada uma delas, também quero agradeço por deixar a documentação, tenho certeza que vai ajudar outros alunos.

Bons estudos!

Sucesso

Um grande abraço e até mais!

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

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