Require Parameters for JavaScript Functions

2 min read Original article ↗

JavaScript is notorious for being "loose", something that some developers love but other developers loathe.  I hear most of those complaints from server side developers, who want string typing and syntax.  While I like strict coding standards, I also like that JavaScript lets me quickly prototype without having to cross the I's and dot the T's.  Until recently you couldn't define default parameter values for functions in JavaScript, but now you can!

When I posted last week about Six Tiny but Awesome ES6 Features, an awesome reader (cmwd) pointed out that you can not only set default function parameter values but you can throw errors when a given parameter isn't provided to a function:

const isRequired = () => { throw new Error('param is required'); };

const hello = (name = isRequired()) => { console.log(`hello ${name}`) };

// This will throw an error because no name is provided
hello();

// This will also throw an error
hello(undefined);

// These are good!
hello(null);
hello('David');

I love this tip -- it shows how with each addition to JavaScript we can stretch the language to do interesting things.  How practical it is to throw errors in production is up to you but this is an awesome ability during development.  Happy coding!

Request Metrics real user monitoring

Request Metrics real user monitoring

Incredible Demos

  • 9 Mind-Blowing Canvas Demos

    The <canvas> element has been a revelation for the visual experts among our ranks.  Canvas provides the means for incredible and efficient animations with the added bonus of no Flash; these developers can flash their awesome JavaScript skills instead.  Here are nine unbelievable canvas demos that...

  • CSS Sprites

    The idea of CSS sprites is pretty genius. For those of you who don't know the idea of a sprite, a sprite is basically multiple graphics compiled into one image. The advantages of using sprites are: Fewer images for the browser to download, which means...