一个最终让 for…in 与 for…of 记忆法深入人心的助记符
Source: Dev.to
Intro
网上有很多文章解释 for...in 和 for...of 的区别,这里就不再赘述。
相反,这是一篇简短的文章,回答我一次又一次被问到的问题:
我该如何记住何时使用 for...in,何时使用 for...of?
💡 for...in 听起来像 foreign(外部的),就像外键(foreign keys)一样。
- 使用
for...in来遍历对象的 键。 - 使用
for...of来遍历集合的 元素。
就是这么简单。没有花里胡哨的。如果想了解更多官方定义的关联,请继续阅读。
根据文档:
-
for...in语句遍历对象的所有可枚举字符串属性。
for…in - JavaScript | MDN -
for...of语句执行一个循环,对来自可迭代对象的值序列进行操作。
for…of - JavaScript | MDN
Reasoning
根据 for...in 的定义,它用于遍历对象的属性。对象属性也叫 键。事实上,Object.keys() 会返回对象的属性。
所以我只需要把 for...in 想成 “foreign”(外部的),即 “foreign keys”。如果你熟悉数据库,外键 这个术语对你来说并不陌生(双关语)。
因此,for...in 用于遍历 键。这就意味着另一个(for...of)必须用于遍历 集合元素。
📌 for...in:想象 “foreign keys”