JavaScript Handler defineProperty() Method Last Updated : 22 May, 2023 Comments Improve Suggest changes Like Article Like Report JavaScript handler.defineProperty() method in Javascript is used to define the new properties and to modify the existing properties directly on an object. It is a trap for Object.defineProper(). Syntax: const p = new Proxy(target, { defineProperty: function(target, property, descriptor) { } }); Parameters: This method accepts three parameters as mentioned above and described below: Target: This parameter holds the target object.property: This parameter is the name or Symbol of the property whose description is going to be retrieved..descriptor: This parameter is the descriptor for the property being defined or modified. Return value: This method returns a Boolean value which is used to indicate if the property is successfully defined. Below example illustrates the handler.defineProperty() method in JavaScript: Example 1: In this example, we will see the use of the handler.defineProperty() method in JavaScript. javascript const p = new Proxy({}, { defineProperty: function (target, prop, descriptor) { console.log('Type : ' + prop); return true; } }); const desc = { configurable: true, enumerable: true, value: 10 }; Object.defineProperty(p, 'String', desc); let xyz = {}; let proxy = new Proxy(xyz, { defineProperty: function (target, name, propertyDescriptor) { console.log('in defineProperty'); return Object.defineProperty(target, name, propertyDescriptor); } }); Object.defineProperty(proxy, 'bar', {}); Output: "Type : String" "in defineProperty" Example 2: In this example, we will see the use of the handler.defineProperty() method in JavaScript. javascript const handler1 = { defineProperty(target, key, descriptor) { invariant(key, 'define'); return true; } }; function invariant(key, action) { if (key[0] === '_') { throw new Error( `Invalid attempt to ${action} private "${key}" property`); } } const monster1 = {}; const proxy1 = new Proxy(monster1, handler1); console.log(proxy1._propt = 'Handler defineProperty'); Output: Error: Invalid attempt to define private "_propt" property Supported Browsers: The browsers supported by handler.defineProperty() method are listed below: Google Chrome 49 and aboveFirefox 18 and aboveOpera 36 and aboveSafari 10 and aboveEdge 12 and above We have a complete list of Javascript Proxy/handler methods, to check those go through the Javascript Proxy/handler Reference article. Comment More infoAdvertise with us Next Article JavaScript Handler deleteProperty() Method S SHUBHAMSINGH10 Follow Improve Article Tags : JavaScript Web Technologies JavaScript-Methods JavaScript-Proxy/handler Similar Reads JavaScript Proxy() Constructor JavaScript proxy() constructor is used to return the proxy constructor function for the object(e.g. property lookup, assignment, enumeration, function invocation, etc). Syntax: let p = new Proxy(target, handler); Parameter: The proxy object accept two parameters as mentioned above and described belo 2 min read JavaScript Proxy revocable() Method The Proxy.revocable() method is a built-in method in JavaScript that creates a revocable Proxy object. This method returns an object that contains two properties: proxy and revoke. The proxy property is a Proxy object, which is used to intercept and handle operations on another object. The revoke pr 2 min read JavaScript Handler apply() Method JavaScript handler.apply() method in JavaScript is used as a trap for a function call. The value returned by this method is used as the result of a function call through a proxy. Syntax: const p = new Proxy(target, { apply: function(target, thisArg, argumentsList) { } }); Parameters: This method acc 2 min read JavaScript Handler construct() Method JavaScript handler.construct() method in JavaScript is a trap for the new operation and this method returns an object. Syntax: const p = new Proxy(target, { construct: function(target, argumentsList, newTarget) { } }); Parameters: This method accepts three parameters as mentioned above and described 2 min read JavaScript Handler defineProperty() Method JavaScript handler.defineProperty() method in Javascript is used to define the new properties and to modify the existing properties directly on an object. It is a trap for Object.defineProper(). Syntax: const p = new Proxy(target, { defineProperty: function(target, property, descriptor) { } }); Para 2 min read JavaScript Handler deleteProperty() Method JavaScript handler.deleteProperty() method in JavaScript is a trap for the delete operator. This method returns the boolean value if the delete was successful. Syntax: const p = new Proxy(target, { deleteProperty: function(target, property) { } }); Parameters: This method accepts two parameters as m 2 min read JavaScript Handler get() Method JavaScript handler.get() method in JavaScript is a trap for getting a property value. Syntax: const p = new Proxy(target, { get: function(target, property, receiver) { } }); Parameters: This method accepts three parameters as mentioned above and described below: Target: This parameter holds the targ 2 min read JavaScript Handler getOwnPropertyDescriptor() Method JavaScript handler.getOwnPropertyDescriptor() method in Javascript is a trap for the Object.getOwnPropertyDescriptor() method. A property cannot be reported as non-existent if it exists as a non-configurable own property of the target object. Syntax: const p = new Proxy(target, { getOwnPropertyDescr 2 min read JavaScript Handler getPrototypeOf() Method JavaScript handler.getPrototypeOf() method in JavaScript is a trap for the internal method. This method returns the same value as Object.getPrototypeOf(target) if the target object is not extensible. Syntax: const p = new Proxy(obj, { getPrototypeOf(target) { ... } }); Parameters: target: The target 2 min read JavaScript Handler has() Method JavaScript handler.has() method in JavaScript is used to "hide" any property that you want. It is a trap for in operator. It returns the Boolean value. If you want to access the property, it returns the Boolean value true; otherwise, it returns false. Whether the key was included with the original o 2 min read Like