如何在WebStorm中对抗大量未解决的变量警告?

2022-08-30 04:19:54

我有一个从服务器获取数据的函数:

function getData(data){
    console.log(data.someVar);
}

WebStorm说这是一个未解决的变量。如何摆脱此类警告?someVar

我看到几个选项:

  • 禁止在IDE设置中显示警告;
  • 添加包含字段(详细信息)的 JSON 源文件);
  • 使用类似数组的语法:data['some_unres_var'];

此外,WebStorm还为我提供了为“数据”创建命名空间(添加类似注释),创建此类字段或重命名它。/** @namespace data.some_unres_var*/


答案 1

使用 JSDoc

/**
 * @param {{some_unres_var:string}} data
 */
function getData(data){
    console.log(data.some_unres_var);
}

答案 2

JSDoc 对象。然后是其成员。

/**
 * @param data          Information about the object.
 * @param data.member   Information about the object's members.
 */
function getData(data){
    console.log(data.member);
}
  • @property对于局部变量(非参数)。
  • 在PyCharm中测试。@Nicholi确认它可以在WebStorm中工作。
  • Andreas建议的语法可能与Django模板冲突。{{ member:type }}
  • 感谢Jonny Buchanan引用@param wiki的回答

要记录对象数组,请像 JSDoc 建议的那样使用方括号:[]

/**
 * @param data
 * @param data.array_member[].foo
 */