[TypeScript] for...in and for...of

  • 685
  • 0

關於 TypeScript 的 for...in 和 for...of


 

有時候會想要將 object 或 array 裡的每一個成員都看過一遍,
這時就會想到使用 for 迴圈,這邊會介紹 for...in 和 for...of 的差別。

for...in 是找出物件中每一個的屬性名稱(key)
for...of 是找出物件中每一個的屬性值(value)

這邊使用陣列來舉例:

var array = [7,8,9];
for(var x in array)
{
    console.log(x); // 0 1 2
}


或許你會期待印出 7 8 9
但會印出 0 1 2
是這個 array 的 key,也就是 array 的 index

另一個例子:

var array = [7,8,9]
for(var x of array)
{
    console.log(x); //  7 8 9
}


才會印出 7 8 9
也就是 array 的 value

 

注意!
for...of 只能在 array 和 string 型態的變數使用
如果不是的話,你就會得到 error message "is not an array type or a string type"