async function or async => when exporting default?

basickarl picture basickarl · Oct 19, 2016 · Viewed 18.3k times · Source
export default async function () {

};

or

export default async () => {

};

Which one is preferred when exporting a default function and why?

Answer

Bergi picture Bergi · Oct 19, 2016

The first one is generally preferred. It's a declaration, not an expression value, which has subtle advantages. And it can easily be named if you want, which is a good practice. Also, arrow functions have a few disadvantages in certain situations, so unless you absolutely need them to preserve a this value (etc.) you'd rather avoid them. Saving 5 characters to type is hardly worth it.