我最近在讨论JS代码时发现了以下注释:
/**
* Explicitly set the return type here to prevent the primitive being lost when using new
* @return {boolean}
*/
function giveMeABoolean(please) {
...
}
是什么给出的? JS中的返回类型?我一直在网上闲逛,找不到任何相关信息。经过一些测试后,在没有注释的情况下使用 new 时,原语确实会丢失。任何人都可以解释这个注释是如何工作的吗?
答案 0 :(得分:5)
这些评论是JSDoc,这只是您可以记录代码的一种方式。像IDE这样的工具可以获取这些文档,并在您尝试理解方法的API时以良好的格式向您显示。
当他们进行静态分析以帮助您提供智能感知等提示时,某些工具也可能会包含此信息。这会给开发人员留下“" type"返回值的值在他们使用代码时保留/已知。但是,这些注释在运行时不会产生任何影响。
Here's the documentation for the @return comment.这里有一个相关的例子:&/ p>
/**
* Returns the sum of a and b
* @param {Number} a
* @param {Number} b
* @param {Boolean} retArr If set to true, the function will return an array
* @returns {Number|Array} Sum of a and b or an array that contains a, b and the sum of a and b.
*/
function sum(a, b, retArr) {
if (retArr) {
return [a, b, a + b];
}
return a + b;
}
答案 1 :(得分:2)
我认为该代码的作者提供了用于文档目的的信息。如果您确实想提供类型信息,可以考虑typescript或flow