Ooo isso é inteligente! Estou pegando isso no blog do David.
const isRequired = () => ( throw new Error('param is required'); ); const hello = (name = isRequired()) => ( console.log(`hello $(name)`) ); // These will throw errors hello(); hello(undefined); // These will not hello(null); hello('David');
A ideia aqui é que ele use parâmetros padrão, como o b
parâmetro aqui tem um padrão se você não enviar nada:
function multiply(a, b = 1) ( return a * b; )
Portanto, acima, se você não fornecer um name
, ele usará o padrão, que é a função que gera um erro.