当前位置: 首页 > 知识库问答 >
问题:

jsdoc typedef中的动态键

燕超
2023-03-14

在jsdoc typedef中可以有动态键(道具名称)吗?我想象这会像下面的例子一样(这不起作用)。

@typedef {Object} Foo
@property {string} bar
@property {*} *

传递typedef中未列出的属性,例如{baz: 0}会使打字稿感到不安,

“{bar: string; baz: number;}”类型的参数不能分配给“Foo”类型的参数。对象文字只能指定已知属性,“baz”在“foo”类型中不存在

@typedef {Object} Foo
@property {number} bar
@property {Object.<string, *>}

输出:

type Foo = {
    bar: number;
    (Missing): {
        [x: string]: any;
    };
}

共有1个答案

都才俊
2023-03-14

您还可以在JSDOC中使用正常的TS语法。

见下一个例子:

/**
 * 
 * @param {Record<string, string> & {bar:string}} arg
 */
const foo = (arg) => {}

您甚至可以使用工具类型:

/**
 * 
 * @param {Partial<{age:number}>} arg 
 */
const partial = (arg) => { }

你可以在这里找到更多UTIL

 类似资料:
  • 问题内容: 我想将css类动态添加到我要遍历的元素中。循环是这样的: 在我的待办事项模型中,我具有属性优先级,可以是“紧急”,“不太重要”或“正常”,我只想为每个元素分配类。 我知道我可以使用类似的布尔值来做到这一点, 但是我的变量不是布尔值,而是具有三个值。我该怎么做?另请注意,由于我的课程会改变一些视觉效果,因此我不想使用。 问题答案: 您可以简单地将一个函数指定为表达式,然后从那里返回适当的

  • 问题内容: 如何在LWUI中创建动态表 这是静态的。我想动态创建行数和列数..plz帮助 问题答案: 请参阅此示例代码。我已使用此代码使用LWUIT创建了动态表。

  • 我一直在玩动态LINQ,我想知道Java是否有可能做类似的事情。例如,如果我使用这个工作代码: 有没有一种方法可以让它像使用动态LINQ一样动态

  • 问题内容: 我目前正在为我的一个类进行分配,在其中,我必须使用Java语法给出 静态 和 动态绑定的 示例。 我了解基本概念,即静态绑定在编译时发生,而动态绑定在运行时发生,但是我无法弄清楚它们实际上是如何工作的。 我找到了一个在线静态绑定的示例,给出了以下示例: 并且这将显示“ animal is eating”,因为 对的调用使用了静态绑定,但是我不确定 为什么 将其视为静态绑定。 到目前为止

  • 请有人给我解释一下输出的最后6行是如何打印出来的。我知道,由于静态绑定,前三行打印适当。 我不知道为什么第5行给出了输出,因为它是Ipod类型的,它没有任何歌曲方法,但它仍然打印输出。代码如下: 输出如下所示: