javascriptdestructuringdefault-parameters

ES6 Partial Object Destructuring Default Parameters In A Separated Object


Okay so there's a lot of similar questions here but none that actually address this. What if I want to save the default parameters of a function on a separated object, in a separated file and then I want the function to use this default parameters only if not specified when calling it?

Example:

export const defaultParameters = { a: "foo", b: "bar"}

And then in another file:

import {defaultParameters} from ./utils.js

myFunction = function(defaultParameters = {}){
   const {a, b} = defaultParameters;
   console.log(a,b);
}

What I want for it to do is that calling

myFunction({a: "hello"})

should print

"hello", "bar"

But that's not how that works and I'm trying to figure this out. Anyone knows how to achieve this?


Solution

  • You won't be able to do it directly in the parameter, but you can inside the function..

    eg..

    import {defaultParameters} from ./utils.js
    
    myFunction = function(params = {}){
       const {a, b} = {...defaultParameters, ...params};
       console.log(a,b);
    }