for… of vs for… in
Como ya sabemos EcmaScript trajo consigo varios features. Uno de estos features es “for… of”, el cuál vino a reemplazar los ya conocidos forEach() y for.. in. En este post nos centraremos en la diferencia que tiene for… of respecto a for… in.
Síntasix:
for(variable of iterable){
statement
}
Ej:
Diferencia entre for… of y for… in
Básicamente for… in iterará sobre todas las propiedades de un objeto, mientras que for.. of itera sobre colecciones y no para todos los objetos.
Explicado de una forma más técnica, for.. in iterará sobre cualquier propeidad en un objeto que internamente haya sido definida con su propiedad [[Enumerable]] como true, mientras que for… of iterará sobre cualquiera de los elementos de una colección que posea la propiedad [Symbol.iterator]
Para más info sobre los protocolos de iteración, acá debajo de te dejo un link:
Veamos esta diferencia con el siguiente ejemplo: