for...of for...in 的區別

簡單的區別是:
for...of得到是value, for...in得到的是key.
下面詳細說區別。
for...of是在es6時出現的。與其對應的是Iterator接口。Iterator接口對應的是可以返回遍歷器對象的方法。這個方法使用[Symbol.iterator]標記。因爲遍歷器對象返回的是當前值。所以for...of得到的value.
for...in是在當前對象的除Symbol屬性以外的可枚舉屬性組成的列表中遍歷。所以for...in得到的是對象的屬性。
用途
for...of一般用於Array/String/Set/Map... 因爲他們有Iterator接口
for...in一般用於Object/類數組 因爲Object沒有Iterator接口

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章