ExpertiDict

JavaScript · Essencial · Inglês · Técnico

for in

/fɔɹ ɪn/palavra-chave

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 string

Exemplos

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

Veja também

Todos os termos de JavaScript