DEV Community

machy44
machy44

Posted on

Take advantage of rest parameters

I went through the node.js material today and I used path.join method. This method is used widely in node.js.

path.join("/foo", "bar"); // Returns: '/foo/bar'
path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// Returns: '/foo/bar/baz/asdf'
Enter fullscreen mode Exit fullscreen mode

As you could realize, you can execute this method with as many parameters you want. That's how I got the idea for this short post.

The concept which is used behind is named rest parameters in js.

let's imitate path.join


const imitatePathJoin = (...args) => {
  return args.join("/");
}

console.log(imitatePathJoin('/home', 'js', 'dist', 'app.js')); 
// "/home/js/dist/app.js" 
console.log(imitatePathJoin('/home', 'js', 'dist', 'app.js', "something", "something")); 
// "/home/js/dist/app.js/something/something
Enter fullscreen mode Exit fullscreen mode

Simple as that. This concept can be really useful if you find yourself in a situation that you want to have the function which could accept indefinite number of arguments and do something with them.

Conclusion

There are many more things which path.join method does. For example, it will throw the error if parameter is not a string. But rest parameters is the crucial concept how it is implemented and that is the thing I wanted to show in the post.

Hope you could learn something new from this one. Take care!

Top comments (0)