javascript forin vs for of code example

Example 1: for of vs for in javascript

let list = [4, 5, 6];

for (let i in list) {
   console.log(i); // "0", "1", "2",
}

for (let i of list) {
   console.log(i); // "4", "5", "6"
}

// EXAMPLE 2
let pets = new Set(["Cat", "Dog", "Hamster"]);
pets["species"] = "mammals";

for (let pet in pets) {
   console.log(pet); // "species"
}

for (let pet of pets) {
    console.log(pet); // "Cat", "Dog", "Hamster"
}

Example 2: for of vs for in

const array = ['a', 'b', 'c', 'd'];

for (const index in array) {
	console.log(array[index])
}

// Result: a, b, c, d