Typescript:在设置泛型类型后调用函数/方法

Typescript:在设置泛型类型后调用函数/方法,typescript,Typescript,对于一个项目,我希望将函数的实现和该函数的调用分开 是这样的: 函数标识(arg:T):R{ 返回{result:arg}; } 常数测试=身份; console.log(test('test')) 我得到了这个错误:“测试不是一个函数” 有没有一种方法可以像这样执行类型暗示 谢谢这里,这就是我认为您要做的: type R<U> = { result: U }; function identity<T>(arg: T): R<T> { re

对于一个项目,我希望将函数的实现和该函数的调用分开

是这样的:

函数标识(arg:T):R{
返回{result:arg};
}
常数测试=身份;
console.log(test('test'))
我得到了这个错误:“测试不是一个函数”

有没有一种方法可以像这样执行类型暗示


谢谢

这里,这就是我认为您要做的:

type R<U> = {
    result: U
};

function identity<T>(arg: T): R<T> {
    return { result: arg };
}

const test : (a: string) => R<string> = identity;
类型R={
结果:U
};
函数标识(arg:T):R{
返回{result:arg};
}
常量测试:(a:string)=>R=identity;
下面是另一种看待同样事情的方式:

type R<U> = {
    result: U
};

type RFunc<T> = (a: T) => R<T>;

const identity = function<T>(arg: T): R<T> {
    return { result: arg };
}

const test : RFunc<string> = identity;
类型R={
结果:U
};
类型RFunc=(a:T)=>R;
常量标识=函数(arg:T):R{
返回{result:arg};
}
常量测试:RFunc=标识;

在这里,这就是我认为您想要做的:

type R<U> = {
    result: U
};

function identity<T>(arg: T): R<T> {
    return { result: arg };
}

const test : (a: string) => R<string> = identity;
类型R={
结果:U
};
函数标识(arg:T):R{
返回{result:arg};
}
常量测试:(a:string)=>R=identity;
下面是另一种看待同样事情的方式:

type R<U> = {
    result: U
};

type RFunc<T> = (a: T) => R<T>;

const identity = function<T>(arg: T): R<T> {
    return { result: arg };
}

const test : RFunc<string> = identity;
类型R={
结果:U
};
类型RFunc=(a:T)=>R;
常量标识=函数(arg:T):R{
返回{result:arg};
}
常量测试:RFunc=标识;
谢谢,
输入RFunc=(a:T)=>R符号对我的问题的回答谢谢,
类型RFunc=(a:T)=>R符号我的问题的答案