Prefer const. You can use it for all variables whose values never change.
Otherwise, use let – for variables whose values do change.
An arrow function is the superior solution whenever a function fits into a single line:
For multi-line functions, traditional functions work well, too (with the caveat of this not being lexical):
Single-line functions tend to be throw-away. If a function isn’t then a traditional function has the advantage that you can name it, which is useful for documentation and debugging.
Properties in object literals: As soon as an object literal spans multiple lines, I add a comma after the last entry. Such a trailing comma has been legal since ES5. It makes adding, removing and rearranging entries simpler. As a consequence, method definitions always end with },:
Modules: don’t mix default exports and named exports. Your module should either specialize on a single thing or export multiple, named, things. Details are explained in the chapter on modules.