Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 猜测选择函数的返回类型_Typescript - Fatal编程技术网

Typescript 猜测选择函数的返回类型

Typescript 猜测选择函数的返回类型,typescript,Typescript,我希望TypeScript能够猜出out的类型,这是一个字符串-我该怎么做?您可以为makeSelector分配泛型类型参数,使TypeScript能够推断返回函数的返回类型: 常量stateObj={ 财产:{ 嵌套:someString } }; const-makeSelector=selectingFunction:state:StateType=>ReturnType=>state:StateType=>selectingFunctionstate; // −−−−−−−−−−−−−−

我希望TypeScript能够猜出out的类型,这是一个字符串-我该怎么做?

您可以为makeSelector分配泛型类型参数,使TypeScript能够推断返回函数的返回类型:

常量stateObj={ 财产:{ 嵌套:someString } }; const-makeSelector=selectingFunction:state:StateType=>ReturnType=>state:StateType=>selectingFunctionstate; // −−−−−−−−−−−−−−−−−−^^^^^^^^^^^^^^^^^^^^^^^−−−−−−−−−−−−−−−−−−^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^−−−−−^−−−−−^^^^^^^^^^^^ const selector=makeSelectorstate:typeof stateObj=>state.property.nested; const out=选择器状态对象;
您可以将泛型类型参数分配给makeSelector,使TypeScript能够推断返回函数的返回类型:

常量stateObj={ 财产:{ 嵌套:someString } }; const-makeSelector=selectingFunction:state:StateType=>ReturnType=>state:StateType=>selectingFunctionstate; // −−−−−−−−−−−−−−−−−−^^^^^^^^^^^^^^^^^^^^^^^−−−−−−−−−−−−−−−−−−^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^−−−−−^−−−−−^^^^^^^^^^^^ const selector=makeSelectorstate:typeof stateObj=>state.property.nested; const out=选择器状态对象;
旁注:这个术语是推断而不是猜测。仅用于搜索目的。:-特点是类型推断。旁注:这个术语是推断而不是猜测。仅用于搜索目的。:-其特点是类型推断。
const stateObj = {
  property: {
    nested: "someString"
  }
}

const makeSelector = (selectingFunction) => state => selectingFunction(state); // may include some addiitonal logic, such as memoization

const selector = makeSelector((state: typeof stateObj) => state.property.nested);

const out = selector(stateObj); // How do I make TypeScript guess its type?