for-in 和 for-of 区别
key 和 value
for...in 遍历得到 key
for..of 遍历得到 value
适用于不同的数据类型
遍历对象:for..in 可以,for...of 不可以
遍历 Map Set:for...of 可以 for...in 不可以
遍历 generator:for...of 可以 for...in 不可以
可枚举 VS 可迭代
for...in 用于可枚举数据,如对象、数组、字符串,得到key
for...of 用于可迭代数据,如数组、字符串、Map、Set,得到 value
for-await-of 作用
for await...of 用于遍历多个 Promise
function createPromise(val) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(val)
}, 1000)
})
}
(async function () {
const p1 = createPromise(100)
const p2 = createPromise(200)
const p3 = createPromise(300)
const list = [p1, p2, p3]
for await (let res of list) {
console.log(res)
}
})()
1