Object.keys()
Метод Object.keys()
возвращает массив из собственных перечисляемых свойств переданного объекта, в том же порядке, в котором они бы обходились циклом for...in
(разница между циклом и методом в том, что цикл перечисляет свойства и из цепочки прототипов).
Метод Object.keys
возвращает массив строковых элементов, соответствующих именам перечисляемых свойств, найденных непосредственно в самом объекте. Порядок свойств такой же, как и при ручном перечислении свойств в объекте через цикл.
Пример:
var objProto = {
q: 100
}
var obj = {
x: 10,
y: 20,
z: 30,
__proto__: objProto
}
console.log( Object.keys(obj) ) // ["x", "y", "z"] - только собственные и перечисляемые свойства
// несмотря на наследуемость от прототипа
console.log( 'q' in obj ) // true