關於 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"