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'); The idea here is that it uses default parameters, like how the b parameter here has a default if you don’t send it anything: function multiply(a, b = 1) { return a * b; }