JavaScript · Essencial · Inglês · Técnico
for in
Laço que percorre os nomes das propriedades enumeráveis de um objeto, incluindo as herdadas pelo protótipo. Os nomes chegam sempre como strings.
Onde usar
Aparece ao varrer as chaves de um objeto simples. Em code review, prefere-se Object.keys ou Object.entries, e for of para arrays, porque for in traz propriedades herdadas e índices como texto.
Em código
const base = { a: 1 };
const obj = Object.create(base);
obj.b = 2;
for (const k in obj) {
console.log(k, typeof k);
}
// b string, depois a stringExemplos
For in also walks inherited properties, so I switched to Object.keys.
O for in também percorre propriedades herdadas, então troquei por Object.keys.
Don't use for in on arrays; the indexes come out as strings.
Não use for in em arrays; os índices saem como strings.
Cuidado
Usar for in em arrays, onde os índices chegam como strings e propriedades extras entram na iteração.
Antônimos
for of