# 操作符整理 ## instanceof 判断某个对象是否是某个方法的实例,值类型数据始终返回`false` ```js person1 instanceof Person // return boolean ``` ## in 判断某个属性能否在**对象**或者其**原型**访问到 ```js 'name' in person1 //return boolean ``` ## hasOwnProperty 判断某个对象的自有属性 ```js person1.hasOwnProperty('say') ``` ## for..in 遍历对象的自有和原型属性键名(数组对象的属性和内容都会被遍历) ```js for( x in person1){ console.log(x); } ``` ### for...of for...of语句在可迭代对象(包括 Array, Map, Set, String, TypedArray,arguments 对象等等)上创建一个迭代循环,对每个不同属性的属性值,调用一个自定义的有执行语句的迭代挂钩.。(es6+) ```js for( value in persons){ console.log(value); } ``` ## Object.keys() 获取对象的属性名的数组。可以配合for...of遍历对象属性 ```js Object.keys(psrson) //return array ['name', 'sex'] ```