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接口

你可能感兴趣的:(javascript,for...of)