When should I use arrow functions in ECMAScript 6?

With () => {} and function () {} we are getting two very similar ways to write functions in ES6. In other languages lambda functions often distinguish themselves by being anonymous, but in ECMAS...

Stack Overflow
@wyatt8740 delicate and ambiguous? I feel like this is a formatting question. with parentheses they're very clear and non-ambiguous. virtually anything can be kind of ambiguous with poor formatting in most languages.
@jorin yeah but i still personally find arrow notation unnecessarily confusing and counterintuitive to more people than the ALGOL-style function definition
@wyatt8740 My general approach is to use function for module/class level definitions, and arrows for inline stuff. When writing top level, function feels more readable. But inline, just having e.g. `(x) => x.toUpper()` cuts down on line length and cruft so much. A huge flaw in TS is that you can't give a module function definition a type that it must fulfil the way you can with a variable carrying a function. So very occasionally I'll break my usual convention. But that's a flaw of TS, not JS.
@jorin yeah i don't use microsoft products as a rule so i know nothing of typescript except that it's more annoying to decipher compiled typescript usually
@wyatt8740 that's an enviable position