Arrow functions were introduced in ES6 as a new syntax for writing Javascript functions. Thanks to their short syntax, they encourage the use of sm...
For further actions, you may consider blocking this person and/or reporting abuse
The problems are not limited to event handlers, JQuery's utility functions are also affected by this. The project I am working on relies on JQuery quite a bit so I am defaulting to regular
function
s and, when need be, I am using arrow functions.I like the event handler example here, really helps understand what is up with arrow functions. I wonder if that's why the newer JS functions pass the element you are checking through their arguments instead of through
this
.Hi! Thanks for reading. Yeah, the problems certainly aren't limited to what I've written here. For example, they also can't be used as constructors.
"I wonder if that's why the newer JS functions pass the element you are checking through their arguments instead of through
this
." Which newer functions are you referring to?Nevermind, I always thought that some of the array functions like
filter
andsome
are from ES2015 which, on further investigation, turned out to be falseAlthough, they work nicely with the arrow functions since they all take their values not from
this
but from the parameter of the functions you give it.Yes, the capturing of
this
by arrow functions is rather cumbersome.Somehow I managed to use it either in a functional programming context where there is no
this
needed or with classes and class fields, where I can write something likeclass A { x = "world!"; m = () => "Hello, " + this.x; }
.Nice! Maybe you should do an article on that when you find the time. Expound on it a little more, I'd be interested (or have you already?).
Thanks for reading
On what specifically?
Just use VSCode and utilize Intellisense. You'll be given appropriate hints and gradually you'll learn all the quirks (not actually) of
this
.Hi! Thanks for the tip.
Thanks so much for this post. I now have a clear(somewhat, as "this" is very complex to understand) idea about the relationship between arrow functions and the "this" keyword :)
Very helpful. Thank you!
I'm glad you found the post useful Hasheen. Happy coding!