输出什么?
javascript
const myLifeSummedUp = ["☕", "💻", "🍷", "🍫"]
for (let item in myLifeSummedUp) {
console.log(item)
}
for (let item of myLifeSummedUp) {
console.log(item)
}A. 0 1 2 3 and "☕" "💻" "🍷" "🍫" B. "☕" "💻" "🍷" "🍫" and "☕" "💻" "🍷" "🍫" C. "☕" "💻" "🍷" "🍫" and 0 1 2 3 D. 0 1 2 3 and {0: "☕", 1: "💻", 2: "🍷", 3: "🍫"}
答案: A
解析:
通过for-in循环,我们可以遍历一个对象自有的、继承的、可枚举的、非Symbol的属性。 在数组中,可枚举属性是数组元素的“键”, 即它们的索引。 类似于下面这个对象: {0: "☕", 1: "💻", 2: "🍷", 3: "🍫"} 其中键则是可枚举属性,因此 0,1,2,3被记录。 通过for-of循环,我们可以迭代可迭代对象(包括 Array,Map,Set,String,arguments等)。当我们迭代数组时,在每次迭代中,不同属性的值将被分配给变量item, 因此“☕”,“💻”,“🍷”,“🍫”被打印。