Avatar ·

Por que usar for...in para percorrer um array é uma má ideia?

Olá! Recentemente comecei a estudar JavaScript e notei que para percorrer as propriedades de um objeto, muitas vezes usam `for...in`. Pensei que, como um array também é um objeto, poderia usar o mesmo loop para ele. Escrevi este código: ```javascript const numbers = [10, 20, 30, 40]; for (let index in numbers) { console.log(numbers[index]); } ``` Até parece funcionar — exibe 10, 20, 30, 40. Mas percebi que muitos desenvolvedores experientes criticam essa abordagem e dizem que é uma "má prática". Por quê? Afinal, o código funciona! Quais problemas podem surgir ao usar `for...in` para arrays? E o que usar no lugar? Explique, por favor, com exemplos, para que eu entenda de uma vez por todas. Desde já, obrigado! <<>>

Por que for...in não é adequado para arrays

O loop for...in foi criado para percorrer propriedades enumeráveis de um objeto, incluindo aquelas herdadas via protótipo. Um array em JavaScript também é um objeto, mas seus elementos são armazenados como chaves numéric