JavaScript Basics: Reflect.apply

Words
78
Reading
1 min
Listen
Play
9y

The method Reflect.apply is just a better and more meaningful way to do Function.prototype.apply. In other words, it allows you to call the given function using a specified context (this argument) on an array of arguments. Here is an example:

    let person = {
        name: "John",
        speak(city) {
            console.log(`Hi. I am ${this.name}. I am calling from ${city}.`);
        },
    };

    let someone = {
        name: "Jack",
    };

    person.speak("Houston");
    // Hi. I am John. I am calling from Houston.
    
    Reflect.apply(person.speak, someone, ["Boston"]);
    // Hi. I am Jack. I am calling from Boston.
    person.speak.apply(someone, ["Boston"]); // the same
    Function.prototype.apply.call(person.speak, someone, ["Boston"]); // the same

As I said in an earlier post, the Reflect object gathers all functionality related to reflection in one place. This makes it possible to write neater and more readable code.


Related Posts

JavaScript Basics: Reflect.apply | Ecency