JSDoc 包含另一个 @typedef 对象的所有属性

use*_*723 10 javascript jsdoc

如果我使用 JSDoc 创建两个对象,其中一个具有另一个对象的所有属性,我该如何显示?

例如你有:

/** 
 * @typdef Foo
 * @type {Object}
 * @property {string} bar
 * @property {string} baz
 */

/**
 * @typedef Foobar
 * @type {Object}
 * @property {float} value
 * @property {string} bar
 * @property {string} baz
 */
Run Code Online (Sandbox Code Playgroud)

但我不想写两次 bar/baz 我只想继承它。

Jos*_* M. 7

我相信你会这样做...

/** Type definition for Foo.
 * @typedef {Object} Foo
 * @property {string} bar
 * @property {string} baz
 */

/** Type definition for Foobar.
 * @typedef {Foo} Foobar
 * @property {float} value
 */
Run Code Online (Sandbox Code Playgroud)

请注意如何Foobar“继承”自Foo.

  • 复制粘贴你的例子。VSCode 报告:``type Foobar = { bar: string; baz:字符串;}`` (4认同)