Open In App

JavaScript Handler isExtensible() Method

Last Updated : 22 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

JavaScript handler.isExtensible() method in JavaScript is a trap for Object.isExtensible() method and it returns a boolean value.

Syntax:

const p = new Proxy(target, {
      isExtensible: function(target) {
  }
});

Parameters: This method accepts a single parameter as mentioned above and described below: 

  • target: This parameter is the target object.

Return value: This method returns a Boolean value.

Below examples illustrate the handler.isExtensible() method in JavaScript:

Example 1: In this example, we will set a trap for the extensible property of the object using the handler.isExtensible() method in JavaScript.

javascript




const monster1 = {
    canEvolve: true
};
 
const handler1 = {
    isExtensible(target) {
        return Reflect.isExtensible(target);
    },
    preventExtensions(target) {
        target.canEvolve = false;
        return Reflect.preventExtensions(target);
    }
};
 
const proxy1 = new Proxy(monster1, handler1);
console.log(Object.isExtensible(proxy1));
console.log(monster1.canEvolve);
console.log(Object.preventExtensions(proxy1));
console.log(Object.isExtensible(proxy1));
console.log(monster1.canEvolve);


Output: 

true
true
[object Object]
false
false

Example 2: In this example, we will set a trap for the extensible property of the object using the handler.isExtensible() method in JavaScript.

javascript




const p = new Proxy({}, {
    isExtensible: function (target) {
        console.log('isExtensible method');
        return true;
    }
});
 
console.log(Object.isExtensible(p));
 
let a = {
    canEvolve: true
};
let b = {
    isExtensible(target) {
        return true;
    },
};
const proxy1 = new Proxy(a, b);
console.log(Object.isExtensible(proxy1));


Output: 

"isExtensible method"
true
true

Supported Browsers: The browsers supported by handler.isExtensible() method are listed below: 

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

We have a complete list of Javascript Proxy/handler methods, to check those go through the Javascript Proxy/handler Reference article.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads