编程语言
首页 > 编程语言> > javascript-使用@typedef定义特定的函数类型

javascript-使用@typedef定义特定的函数类型

作者:互联网

我不知道有多少(如果有的话)与Google Closure有关,或者是否都是干净的jsdoc,但是我尝试使用@typedef来定义像这样的特定类型的函数;

/**
 * @typedef {function(paramType0, paramType1):returnType} name.space.and.TypeName
 */

也尝试过

/**
 * @typedef {function(paramType0, paramType1):returnType} 
 */
name.space.and.TypeName;

在这里,参数和返回类型是我要定义此函数规范的原因.我的问题是这个;

为什么验证会告诉我“方法不是函数类型”.我知道使用“函数”类型是一种选择,但是据我所知,这将不允许我定义参数和返回类型吗?我也错了吗?

无论如何,我将不胜感激.谢谢.

解决方法:

typedef的典型用法如下所示:

/** @typedef {function():string} */
var SomeFunctionType;

/** @param {SomeFunctionType} x This is a function */
function useFunction(x) {
  ...
}

这个问题缺少一些细节,我希望您实际上希望使用@type声明来键入值,而不是创建类型名称:

/** @type {function():string} */
var someFunction = getFunctionFromSomewhere();

someFunction();

jsdoc注释的概述可以在这里找到:
https://developers.google.com/closure/compiler/docs/js-for-compiler

标签:typedef,jsdoc,google-closure,javascript,function
来源: https://codeday.me/bug/20191120/2044597.html