TypeScript版本: 夜间版(2.4.0-dev.20170515)代码
/** * @param abcdeg A parameter */ function f(abcdefg: number) { abcdeg; }
预期行为:
可以修复abcdeg的拼写错误。
abcdeg
实际行为:
在jsdoc中无法使用。
uujelgoq1#
嗯,这意味着这个JSDoc是有错误的。如果我们报告这个问题,为什么不在jsdoc中报告其他事情呢?比如无效的标签@params而不是@param......
@params
@param
vyu0f0g12#
我认为这已经被 #13371 包含。
2q5ifsrm3#
closing in favor of #13371
de90aj5v4#
让我们使用这个问题来跟踪jsdoc的语义错误。#13371 用于跟踪语法错误。还有一个未解决的问题,即这些错误(及相关的快速修复)是否仅应在具有 // @ts-check 的js文件中可用,还是也适用于TS文件。
// @ts-check
9rygscc15#
是否可以有可选的报告缺失JSDoc @param 和 @return ?以及如何检测实际的 return 与 @return / @returns 之间的不匹配?
@return
return
@returns
l5tcr1uw6#
@brettz9 Enable "checkJs": true inside compilerOptions in your tsconfig.json and you should get an error if a @return tag is incorrect.
"checkJs": true
compilerOptions
tsconfig.json
/** @return {number} */ function g() { return ""; } // Error
Enable "noImplicitAny": true (or better, "strict": true ) and you will get an error if a @param tag is missing.
"noImplicitAny": true
"strict": true
function f(x) {} // Error, 'x' is implicitly 'any'
6条答案
按热度按时间uujelgoq1#
嗯,这意味着这个JSDoc是有错误的。
如果我们报告这个问题,为什么不在jsdoc中报告其他事情呢?比如无效的标签
@params
而不是@param
......vyu0f0g12#
我认为这已经被 #13371 包含。
2q5ifsrm3#
closing in favor of #13371
de90aj5v4#
让我们使用这个问题来跟踪jsdoc的语义错误。#13371 用于跟踪语法错误。
还有一个未解决的问题,即这些错误(及相关的快速修复)是否仅应在具有
// @ts-check
的js文件中可用,还是也适用于TS文件。9rygscc15#
是否可以有可选的报告缺失JSDoc
@param
和@return
?以及如何检测实际的
return
与@return
/@returns
之间的不匹配?l5tcr1uw6#
@brettz9 Enable
"checkJs": true
insidecompilerOptions
in yourtsconfig.json
and you should get an error if a@return
tag is incorrect.Enable
"noImplicitAny": true
(or better,"strict": true
) and you will get an error if a@param
tag is missing.