Ооо це розумно! Я зафіксував це з блогу Девіда.
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; )
Отже, вище, якщо ви не надасте a name
, він замість цього використовуватиме за замовчуванням, тобто функцію, яка видає помилку.