for in与for of区别

Posted krystalcl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for in与for of区别相关的知识,希望对你有一定的参考价值。

for in 是ES5标准,遍历key。(可遍历对象、数组、字符串的key)

for of 是ES6标准,遍历value。(可遍历对象、数组、字符串的value)

//字符串
let s = "helloabc";
for(let c of s) {
    console.log(c);
}

结果:
h
e
l
l
o
a
b
c

总结: for in总是得到对像的key或数组,字符串的下标

for of 总是得到对像的value或数组,字符串的值,还可以遍历Map和Set

 

var set = new Set();
set.add("a").add("b").add("d").add("c");
var map = new Map();
map.set("a",1).set("b",2).set(999,3);
for (let v of set) {
    console.log(v);
}
console.log("--------------------");
for(let [k,v] of map) {
    console.log(k,v);
}

 

以上是关于for in与for of区别的主要内容,如果未能解决你的问题,请参考以下文章

for of 与 for in 的区别

for of 与 for in的区别

for of 与 for in的区别

for in与for of区别

for in,Object.keys()与for of的用法与区别

for in,Object.keys()与for of的区别