Non-
own
version ofObject.getOwnPropertyNames()
npm install get-property-names
const getPropertyNames = require('get-property-names')
const a = {a: 1, b: 2}
getPropertyNames(a)
//=> this returns ['a', 'b']
class A {
foo () {}
}
class B extends A {
bar () {}
}
getPropertyNames(new B())
//=> this returns `['constructor', 'bar', 'foo']`
class C extends A {
constructor () {
super()
this.baz = 1
}
}
getPropertyNames(new C())
//=> this returns `['baz', 'constructor', 'foo']`
As the examples above, getPropertyNames
returns the list of all the property names of an object, which includes non enumerable properties in its prototype chain.
MIT