Required Parameters for Functions in JavaScript

Chris Coyier on

Ooo this is clever! I’m snagging this from David’s blog.

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; }

So above, if you don’t provide a name, it’ll use the default instead, which is that function that throws an error.