JavaScript Proxy() Object

The proxy object in JavaScript is used to define the custom behavior of fundamental operations (e.g. property lookup, assignment, enumeration, function invocation, etc).


var p = new Proxy(target, handler);

Parameter: The proxy object accept two parameters as mentioned above and described below:

  • target: A target object (can be any sort of object including a function, class, or even another proxy) to wrap with Proxy.
  • handler: An object whose properties are functions which define the behavior of the proxy when an operation is performed on it.


const Person = {
    Name: 'John Nash',
    Age: 25
const handler = {
    // target represents the Person while prop represents
        // proxy property.
    get: function(target, prop) {
        if (prop === 'FirstName') {
            return target.Name.split(' ')[0];
        if (prop === 'LastName') {
            return target.Name.split(' ').pop();
        else {
            return Reflect.get(target,prop);
const proxy1 = new Proxy(Person, handler);
document.write(proxy1 + "<br>");
// Though there is no Property as FirstName and LastName, 
// still we get them as if they were property not function.
document.write(proxy1.FirstName + "<br>");
document.write(proxy1.LastName  + "<br>");     


[object Object]

Note: The above code can be run directly in terminal provided NodeJs is installed, else run it in a HTML file by pasting the above in script tag and check the output in console of any web browser.

This article is attributed to GeeksforGeeks.org

You Might Also Like

leave a comment



load comments

Subscribe to Our Newsletter