Javascript 在函数的@param和@returns中使用相同的泛型类型
如何使用JSDoc comment注释接受和返回相同类型对象的函数?如下所示:Javascript 在函数的@param和@returns中使用相同的泛型类型,javascript,generics,jsdoc,Javascript,Generics,Jsdoc,如何使用JSDoc comment注释接受和返回相同类型对象的函数?如下所示: /** * Does some work and returns same type * @param {T extends Object} src Source object * @returns {T} object of the **same** type */ function chainFoo(src) { // do some work return Object.assing({}, src
/**
* Does some work and returns same type
* @param {T extends Object} src Source object
* @returns {T} object of the **same** type
*/
function chainFoo(src) {
// do some work
return Object.assing({}, src); // just as example
}
有可能吗?解决方案是指定 看起来是这样的:
/**
* Does some work and returns same type
* @template T
* @param {T} src Source object
* @returns {T} object of the **same** type
*/
function chainFoo(src) {
// do some work
return Object.assing({}, src); // just as example
}
解决办法是指定 看起来是这样的:
/**
* Does some work and returns same type
* @template T
* @param {T} src Source object
* @returns {T} object of the **same** type
*/
function chainFoo(src) {
// do some work
return Object.assing({}, src); // just as example
}
您只需在JSDoc的两个部分中使用相同的类型,这并没有错。您不需要{t extends Object}位,只要t就足够了。它不是具体类型,而是泛型。考虑使用:const Obj1= CHANFOO {CouSuth:1 }。应为类型编号。但是对于const arrangeAdate=chainFoo{sheSaid:'Maybe'}。她说它应该是string的。如果只是一个泛型对象,比如我会个性化地使用对象,那么通过chainFoo函数的对象会丢失它关于类型的元信息。是的,但是你的参数src仍然是一个对象,函数返回一个对象,其内容可以是动态的,因此在JSDoc中没有意义。您可以使用对象符号您可以在JSDoc的两个部分中使用相同的类型,这没有什么错。您不需要{t extends Object}位,只要t就足够了。它不是具体类型,而是泛型。考虑使用:const Obj1= CHANFOO {CouSuth:1 }。应为类型编号。但是对于const arrangeAdate=chainFoo{sheSaid:'Maybe'}。她说它应该是string的。如果只是一个泛型对象,比如我会个性化地使用对象,那么通过chainFoo函数的对象会丢失它关于类型的元信息。是的,但是你的参数src仍然是一个对象,函数返回一个对象,其内容可以是动态的,因此在JSDoc中没有意义。您可以使用对象表示法