Ооо, это умно! Я взял это из блога Дэвида.
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');
Идея здесь в том, что он использует параметры по умолчанию, например, как b
параметр здесь имеет значение по умолчанию, если вы ему ничего не отправляете:
function multiply(a, b = 1) ( return a * b; )
Итак, выше, если вы не предоставите name
, вместо этого будет использоваться значение по умолчанию, то есть функция, которая выдает ошибку.