gpt4 book ai didi

javascript - 如何在 JSDoc typedef 中干燥相似的属性

转载 作者:行者123 更新时间:2023-12-03 00:57:50 25 4
gpt4 key购买 nike

我有几个 typedef,它们都包含这些字段:

* @property {String} field1 Foo bar 1
* @property {Number} field2 Foo bar 2
* @property {Number} field3 Foo bar 3
* @property {String} field4 Foo bar 4

有没有办法一次性定义它们并在 typedef 之间共享它们?例如,我想做一些类似的事情:

/**
* @typedef GenericFields
* @property {String} field1 Foo bar 1
* @property {Number} field2 Foo bar 2
* @property {Number} field3 Foo bar 3
* @property {String} field4 Foo bar 4
*/

/**
* @typedef SomeType
* @property {String} nonGenericField Bar foo
* ...{GenericFields}
*/

这样的事情可能吗?

最佳答案

我怀疑您可能需要一条记录(或一个界面):

https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler#interface-record

记录和接口(interface)定义了相同的想法。它们都用于决定一个函数或类是否实现了与另一个函数或类互操作所需的一切。

接口(interface)通过名称来实现这一点;仅当使用相同名称时才满足有效接口(interface)的条件。

记录通过结构来实现这一点;仅当结构匹配时才满足有效记录的条件。

您可以使用 @extends {Type} 实现接口(interface)(和记录)。

关于javascript - 如何在 JSDoc typedef 中干燥相似的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52746824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com