ES6 部分对象解构分离对象中的默认参数

ES6 Partial Object Destructuring Default Parameters In A Separated Object

好的,这里有很多类似的问题,但 none 实际上解决了这个问题。 如果我想将一个函数的默认参数保存在一个单独的对象上,一个单独的文件中,然后我希望该函数仅在调用时未指定时才使用此默认参数怎么办?

示例:

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

然后在另一个文件中:

import {defaultParameters} from ./utils.js

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

我想让它做的是调用

myFunction({a: "hello"})

应该打印

"hello", "bar"

但事实并非如此,我正在努力解决这个问题。有人知道如何实现吗?

您不能直接在参数中执行此操作,但您可以在函数内部执行此操作..

例如..

import {defaultParameters} from ./utils.js

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