JavaScript Reflect has() Method

Last Updated : 12 Jul, 2025

JavaScript Reflect.has() method in JavaScript is used to check whether the property exists in an object or not. It works like the in operator as a function.

Syntax:

Reflect.has(target, propertyKey) 

Parameters: This method accepts two parameters as mentioned above and described below:

  • target: This parameter is the target object and it looks for the property.
  • propertyKey: This parameter is the name of the property to be checked.

Return value: This method returns a Boolean value which indicates if the target has the property.

Exceptions: A TypeError is an exception given as the result when the target is not an object.

The below examples illustrate the Reflect.has() method in JavaScript:

Example 1: In this example, we will check if the object has the property or not using the Reflect.has() method in JavaScript.

javascript
const object1 = {
    property1: 434
};

console.log(Reflect.has(object1, 'property1'));
console.log(Reflect.has(object1, 'property2'));
console.log(Reflect.has(object1, 'toString'));

let x = { foo: 1 };
console.log(Reflect.has(x, 'foo'));
console.log('foo' in x);
console.log(Reflect.has(x, 'bar'));
console.log('bar' in x); 

Output:

true
false
true
true
true
false
false

Example 2: In this example, we will check if the object has the property or not using the Reflect.has() method in JavaScript.

javascript
// Returns true for properties in
// the prototype chain 
console.log(Reflect.has({ x: 0 }, 'toString'));

// Proxy with .has() handler method
let obj = new Proxy({}, {
    has(t, k) { return k.startsWith('geeks') }
});
console.log(Reflect.has(obj, 'geeksforgeeks'));
console.log(Reflect.has(obj, 'geekforgeek'));

const val1 = { foo: 123 }
const val2 = { __proto__: val1 }
const val3 = { __proto__: val2 }

// The prototype chain is: c -> b -> a
console.log(Reflect.has(val3, 'foo'));

Output:

true
true
false
true

Supported Browsers: The browsers supported by JavaScript Reflect.has() Method are listed below:

  • Google Chrome 49 and above
  • Edge 12 and above
  • Firefox 42 and above
  • Opera 36 and above
  • Safari 10 and above

We have a complete list of Javascript Reflects methods, to check those go through the JavaScript Reflect Reference article.

Comment

Explore