How to use options object in functions?

Arek Jaworski
3 min readJan 19, 2019

Standard way of creating functions and passing parameters is simply to declare a function name and list parameters in the bracket:

function foo(param) {
// do something
}

This works well and there is absolutely nothing wrong with such a function.

However, when we pass more parameters to our function and/or we start adding optional parameters, things can become awkward to use:

function bar (param1, param2, param3, optionalParam1 = true) {
// do something
}

First of all we have to remember the order of parameters. Obviously, all modern days IDEs will help us a bit. Yet, it’s still confusing when we simply look at the code:

zed(true, false, 5);

We can easily change all our functions to use options object. Let’s rewrite function bar:

function bar (options) {
const { param1, param2, param3, optionalParam1 = true } = options;
// do something
}

What we used here is destructuring assignment. In theory and practice we could have done this straight inside the bracket:

function bar ({ param1, param2, param3, optionalParam1 = true }) {
// do something
}

--

--

Arek Jaworski
Arek Jaworski

Written by Arek Jaworski

Software Architect — AWS/Node.JS/JavaScript Contractor and Tutor. I write about programming, computer science, algorithms and more!

No responses yet