You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JSDoc标注items对象的键为对应Item的id?

如何用JSDoc标注键为Item实例id的对象?

先看你的代码定义:

class Item {
    /**
     *@type {number}
     */
    id;
}

let items = {};

你希望标注items对象的键对应Item实例的id属性,当前使用的写法是完全可行的:

/**
 * @type {{[item_id: number]: Item}}
 */
let items = {};

这个语法清晰定义了items是一个键为数值类型、值为Item实例的对象,能让编辑器正确识别结构,提供类型提示和校验。

你也可以用更简洁的Record类型写法,效果完全一致:

/**
 * @type {Record<number, Item>}
 */
let items = {};

需要注意的是:JSDoc目前不支持直接约束键必须是已存在的Item实例的id值(仅允许任意数值),如果要实现这种严格约束,只能通过代码逻辑来保障(比如封装添加/删除Item的方法,确保键与实例id严格对应)。

内容的提问来源于stack exchange,提问作者Fiodar Shurankou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 18:40:33