如何使用 JSDoc 定义部分对象(使所有属性可选)
How to define a partial object with JSDoc (make all properties optional)
如何定义接受对象的部分或全部属性的类型?我知道我可以将每个 属性 标记为可选,但是有没有办法让所有属性都可选?
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)
}
以上代码显示警告,因为 {}
不满足 defaults
。我可以定义参数 _options
来接受 defaults
的任何子集吗?
已解决
/** @param {Partial<defaults>} options */
如何定义接受对象的部分或全部属性的类型?我知道我可以将每个 属性 标记为可选,但是有没有办法让所有属性都可选?
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)
}
以上代码显示警告,因为 {}
不满足 defaults
。我可以定义参数 _options
来接受 defaults
的任何子集吗?
已解决
/** @param {Partial<defaults>} options */