for...in和for...of循環的區別


以下是使用for...in和for...of分別對Array,Set,Map做的測試:

for...in由於歷史遺留問題,它遍歷的實際上是對象的屬性名稱。一個Array數組也是一個對象,數組中的每個元素的索引被視為屬性名稱,所以我們可以看到使用for...in循環Array數組時,拿到的其實是每個元素的索引。

如上所示,當我們為a多手動添加一個屬性name的時候,for...in循環會把name屬性也包括在內,而Array的length屬性卻不包括在內。
for...of循環則不存在上述的問題,它只循環集合本身的元素。這就是為什么引入for...of循環。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM