In/hasOwnProperty/for…in/for…of的区别

1. in

用于判断属性是否在对象上(包括继承而来的原型)。

2. hasOwnProperty

Object.prototype.hasOwnProperty用于判断属性是否为自身属性(仅仅自身,不包括继承而来的)。

注:Object.hasOwn是此方法的代替品。

3. for...in

for...in 语句以任意顺序迭代一个对象的除Symbol以外可枚举属性包括继承的可枚举属性。
如果作用在数组上,则把其当做对象来对待。

4. for...of

for...of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句

posted @ 2019-06-06 22:55  tornoda  阅读(457)  评论(0编辑  收藏  举报