如何用JSDoc定义一个部分对象(使所有属性都是可选的)。

问题描述 投票:0回答:1

我如何定义一个接受对象的部分或全部属性的类型?我知道我可以将每个属性标记为可选的,但是有没有办法让所有的属性都是可选的?

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. 我可以定义param _options 接受任何子集的 defaults?

types jsdoc
1个回答
0
投票

解决了

/** @param {Partial<defaults>} options */
© www.soinside.com 2019 - 2024. All rights reserved.