JavaScript Basics: Reflect.apply
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.
Last line is really interesting...
Function.prototype.apply.call
Was not aware it works that way. Actually:
Function.prototype.call === Function.prototype.bind.call.apply.bind.call
So it seem that
Function.prototype
functions (Function.prototype.bind
,Function.prototype.call
, etc.) do have object linkage toFunction.prototype
object. We can even access such linkage. See here:Function.prototype.apply.__proto__ === Function.prototype
That's why we can chain it deeply. Really interesting. Also was not aware of such Reflect feature. Thanks for sharing.
Thank you for your informative reply.
I didn't understood
Informative post.
Good post, thanks for sharing this post.
nice post bro
Have a nice day sir, Stay safe.
Hi I'm duma, I'm calling from Indonesia :)
sir as a new steemers i want your help by my post
Looks like i still need to learn a lot of programming :)
but many thanks for sharing it
I am not so good in javascript but this is informative 😊
person.speak("thanks for the post, this will Reflect in future coding of mine");
great post, ghasemkiani as usual!
مشتی ساپورت ♥
another interesting information about reflect , thanks
cool post. i am also a js developer from time to time
it's very informative post.
That's a great gaming programming...Keep it up...
it so helpful post for us......
thanks for sharing.
well thanks for sharing .. learning have a nice day bro
programing is a language of computer you input this his language and its output your language
now its a very important in every sphere
carry on
That's a great and outstanding programming ..Resteemit done..
well wrote dear @ghasemkiani
Thanks for this post, very informative i hope you keep sharing with us all your knowledge
Thank you for sharing and teaching others sir..
Thanks for giving us a new topic.It is an educative value for us.We can get many concept about javascript,programming & so on.
Thanks
@Ressteem,upvote & follow done.
Thanks for sharing this post.
I appreciate your every post ..Best of luck.
@ghasemkiani Good tutorial. I just love this. Thanks for sharing.
Upvote and resteemit...
you are a good javascript programmer. well done @ghasemkiani
Like back
javascript is a advance programming language . i try c language as a begainer
Nice post sir.
very well post dear friend @ghasemkiani
This nice post iappreciate your programming thanks for sharing this technology..Carry on..
great
Nice Post ..
Followed you..
Good post..Keep it up..
Carry on your activitys
thanks for your educative blog...
best of luck....
I always follow your post everything is good if any time visit my blog @mamaathiyya
add-on on the Reflect post, thanks,
Thanks for share JavaScript
Your information is very useful, the work you do is very meaningful, I really appreciate post @ghasemkiani
its a great info.i really praise your activity..
many thanks for sharing us...
nice post...thanks for share
This is my favorite javascript...
nice program. i like it