For of
For of es una característica nueva de ES6 con la cual puedes acceder y recorrer arrays y strings obteniendo su valor, es decir, no puede recorrer objetos. Aunque se podrían recorrer objetos en el caso de que estos fueran creados por clases que implementen Symbol.iterator
. for ... of
también tiene un peor rendimiento en comparación con el for...in
ya que al compilarlo a JS crea más variables y hace más comprobaciones.
For of accediendo al valor de una variable dentro de un array:
TypeScript
let list = ["a", "b", "c"];
for (let b of list) {
console.log(b); // a, b, c
}
Javascript
var list = ["a", "b", "c"];
for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
var b = list_1[_i];
console.log(b); // a, b, c
}
For of accediendo al valor de una variable dentro de un string:
TypeScript
let string = "is it me you're looking for?";
for (let char of string) {
console.log(char); // is it me you're looking for?
}
Javascript
var string = "is it me you're looking for?";
for (var _i = 0, string_1 = string; _i < string_1.length; _i++) {
var char = string_1[_i];
console.log(char); // is it me you're looking for?
}
For of accediendo al valor de una variable dentro de un objeto, el cual nos dará error:
TypeScript
let obj = {a: 1, b: 2, c:3};
for(let i of obj){
console.log(i); // Error
}
Javascript
var obj = { a: 1, b: 2, c: 3 };
for (var _i = 0, obj_1 = obj; _i < obj_1.length; _i++) {
var i = obj_1[_i];
console.log(i); // Error
}
El error según el transpilador de TypeScript Es el siguiente: