I'll never understand how people can say arrow functions "makes our code looks clear and easier to understand." as I have the exact opposite reaction.
It all reeks of people who think all code should look like a IOCCC entry.
Maybe it's my background in Wirth family languages (Pascal, Modula 2, Ada) but to me arrow functions take a leak on code clarity from so on-high, you'd think the almighty just got back from a kegger.
A situation only exacerbated by LET/CONST and people being too stupid to handle function level scoping. If you really need that depth of block-level scoping, you are doing something horribly and terrifyingly WRONG with your code.
More so if you are assigning a function to a variable that way. The LAUGH of it all being the people who insist on using endless pointless functions for NOTHING are the same ones who jones for LET/CONST... when with every single blasted line of their code slopped into a separate function tripling or more the codebase size, the scoping of LET/CONST ceases to be a concern!
More so with CONST failing to provide proper constants.
This all only getting worse with Arrow functions and so many blasted callback methods pissing on execution efficiency as well... because every blasted loop needs a callback -- NOT!
How is any of this junk an improvement in code clarity and efficiency? I just don't get it.