UseJSDoc.org 的@type 页面解释了如何记录数组和对象,而不是对象数组。我的函数接受具有特定属性列表的对象数组,我想记录这些属性。
该函数可能看起来像function foo(people)
,并且该people
数组可能已由函数的调用者创建为
arr = [];
arr.push({name: "Alfred", profession: "Butler", hitpoints: 2});
arr.push({name: "Batman", profession: "Vigilante", hitpoints: 42});
// ...
foo(arr)
我想使用{{name: string, profession: string, hitpoints: number}} Person
语法来记录对象,但也包括它们必须在数组中的概念。
请注意,底层对象(我Person
在上面所说的,虽然代码不会引用任何东西)不是一个合适的类,甚至没有在任何地方命名。我也没有在任何地方定义单个“ Person
”来使用@property标记。
用 JSDoc3 记录这种代码的困难可能表明组织不好,我很乐意考虑如何重组像这样的临时对象,主要用作哈希表(关联数组)。