如何定义接受对象的部分或全部属性的类型?我知道我可以将每个属性标记为可选,但是有没有办法让所有属性都可选?
const defaults = {
host: 'localhost',
distDir: 'dist',
entrypoint: '__app.html',
app: `build/bundle.js`,
spaPort: "5000",
ssrPort: "5005",
serveSpa: false,
serveSsr: false,
}
/**
* @param {defaults} options
*/
function merge(options = {}){
const allOptions = {...defaults, ...options)
}
Run Code Online (Sandbox Code Playgroud)
上面的代码显示警告 as {}does not meet defaults。我可以定义参数_options以接受 的任何子集defaults吗?