JavaScript Object hasOwn() Method (original) (raw)

Last Updated : 12 Jul, 2024

**JavaScript **hasOwn() methodis used to check if the object has the specified property or not. It returns true if the property exists else false. This method was introduced as a replacement for the Object.hasOwnProperty() method. It is different from in operator as it does not check for inherited properties.

**Syntax:

Object.hasOwn(obj, prop)

**Parameters:

This method takes two parameters

**Return Value:

**Example 1: This example uses the hasOwn() method to check if a property exists or not

JavaScript `

let details = { name: "Raj", course: "DSA", website: "geeksforgeeks.org", }

console.log(Object.hasOwn(details, 'name')); console.log(Object.hasOwn(details, 'course')); console.log(Object.hasOwn(details, 'phone number'));

`

**Output:

true
true
false

**Example 2: This example will compare the in operator and Object.hasOwn() method.

JavaScript `

let details = { name: "Raj", course: "DSA", website: "geeksforgeeks.org", }

console.log(Object.hasOwn(details, 'name')); console.log('name' in details);

console.log(Object.hasOwn(details, 'toString')); console.log('hasOwnProperty' in details);

`

**Output: The in operator returns true for even inherited properties like toString is an inherited method for all JavaScript objeccts.

true
true
false
true

**Example 3: This method compares the hasOwnProperty() method and hasOwn() method.

JavaScript `

let details = Object.create(null); details.course = "DSA";

console.log(Object.hasOwn(details, "course")); console.log(Object.hasOwnProperty(details, "course"))

`

**Output: The hasOwnProperty() method does not work on null objects but hasOwn() method works. So it is better than hasOwnProperty() method

**Supported Browsers: