The Object.getOwnPropertyNames() method in JavaScript is a standard built-in object which returns all properties that are present in a given object except for those symbol-based non-enumerable properties.
Syntax:
Object.getOwnPropertyNames(obj)
Parameters: This method accepts a single parameter as mentioned above and described below:
- obj: This parameter holds the object whose enumerable and non-enumerable properties are to be returned.
Return value: This method returns an array of strings that corresponds to the properties found directly in the given object.
Below examples illustrate the Object.getOwnPropertyNames() method in JavaScript:
Example 1: In this example, we will check if an object contains some properties or not using the Object.getOwnPropertyNames() method in JavaScript.
javascript
const gfg = { val1: "Geek1" , val2: "Geek2" , val3: "Geek3" , val4: "Geek4" }; console.log(Object.getOwnPropertyNames(gfg)); let gfg2 = { val1: 'Geek1' , val2: 'Geek2' , val3: 'Geek3' }; console.log(Object.getOwnPropertyNames(gfg2).sort()); Object.getOwnPropertyNames(gfg2). forEach( function (val, idx, array) { console.log(val + ': ' + gfg2[val]); }); |
Output:
Array ["val1", "val2", "val3", "val4"] Array ["val1", "val2", "val3"] "val1 : Geek1" "val2 : Geek2" "val3 : Geek3"
Example 2: In this example, we will check if an object contains some properties or not using the Object.getOwnPropertyNames() method in JavaScript.
javascript
function ParentClass() { } ParentClass.prototype.inheritedMethod = function () { }; function ChildClass() { this .prop = 5; this .method = function () { }; } ChildClass.prototype = new ParentClass; ChildClass.prototype.prototypeMethod = function () { }; console.log( Object.getOwnPropertyNames( new ChildClass() ) ); let my_obj = Object.create({}, { getFoo: { value: function () { return this .foo; }, enumerable: false } }); my_obj.foo = 1; console.log(Object.getOwnPropertyNames(my_obj).sort()); |
Output:
Array ["prop", "method"] Array ["foo", "getFoo"]
We have a complete list of Javascript Object methods, to check those please go through this JavaScript Object Complete Reference article.
Supported Browsers: The browsers supported by Object.getOwnPropertyNames() method are listed below:
- Google Chrome 5 and above
- Edge 12 and above
- Firefox 4 and above
- Internet Explorer 9 and above
- Opera 12 and above
- Safari 5 and above