显式设置函数的返回类型
Explicitly set the return type of functions
我最近在查看JS代码时发现了以下注释:
/**
* Explicitly set the return type here to prevent the primitive being lost when using new
* @return {boolean}
*/
function giveMeABoolean(please) {
...
}
给了什么?JS中的返回类型?我在网上查了一下,找不到任何关于这个的信息。经过一些测试后,当使用new而不使用注释时,原语确实丢失了。有人能解释一下这个注释是如何工作的吗?
这些注释是JSDoc,它只是一种记录代码的方式。当您试图理解某个方法的API时,ide之类的工具可以拾取这些文档,并以良好的格式向您展示。
一些工具在进行静态分析时也可能包含此信息,以帮助您为智能感知等事情提供提示。这将给开发人员留下这样的印象:当他们处理代码时,返回值的"类型"是保留/已知的。但是,这些注释在运行时不会产生影响。
下面是@return注释的文档。这里有一个相关的例子:
/**
* 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;
}
我认为该代码的作者是出于文档目的而提供该信息的。如果你真的想提供类型信息,你可以考虑typescript或flow
相关文章:
- 从Mongoose结果匿名函数返回父函数
- 你能调用一个在调用者上下文中返回的函数吗
- 单击从子函数返回父函数
- NodeJS:创建一个hash并返回一个函数的值
- mongodb中db.collection.find()的返回类型是什么
- 返回JavaScript函数中的值
- Json 返回每个函数
- 来自函数 Javascript 的 NaN 返回值 ||函数执行顺序
- 了解存储的MongoDB javascript函数中MongoDB命令的返回类型
- 没有返回类型的函数的Javascript单元测试
- 重新打开程序函数返回类型错误“无法读取 null 的属性'样式'”
- 我应该如何声明一个函数的返回类型,该函数返回一个没有数据的$q promise
- 为什么PowerShell函数的返回类型总是数组
- javascript:确定函数的返回类型
- 使用c++中的构造函数时,ffi的返回类型是什么?
- 显式设置函数的返回类型
- TS1057:异步函数或方法必须具有有效的可等待返回类型
- 函数作为返回类型javascript
- Javascript toString覆盖函数返回类型
- 当第一次调用返回类型函数时,没有调用两个javascript函数