提问人:Tomáš Zato 提问时间:11/9/2023 更新时间:11/9/2023 访问量:7
如何使用 JSDoc 记录字符串变量将用作对象变量中的键?
How to document with JSDoc that a string variable will be used as a key in object variable?
问:
请考虑以下代码:
/**
* Adds a numeric value to given object using name as key
* @template T
* @param {T} obj
* @param {string} keyName
* Trying to tell JSDoc that the variable will become a key
* @returns {{"keyName": number} & T}
*/
function testAddAttr(obj, keyName) {
obj[keyName] = 1;
return obj;
}
const testResult = testAddAttr({str: "hello"}, "num");
// here I expect IDE to know that testResult.num is a string
现在,我真的不喜欢在不需要的时候做这样的事情,但是例如,在处理命令行输入参数和其他非类型化数据时,有时需要它。我还可以看到我的 IDE 可以看到的打字稿导入代码(但运行时使用纯 JS)可以做这样的事情。
在上面的例子中,我试图加引号,但没有用。有没有办法做到这一点?某种操作员?keyName
valueOf
答: 暂无答案
评论