Amo*_*pta 5 typescript typescript-typings
所以我正在做一个本机反应项目。我希望有人能从实现中推断出泛型类型。
type itemType<T> = { item: T };
const someItem = {
item: 'Some String'
};
type someItemType = typeof someItem;
// So Here someItemType will be {item: string}, i want it to be itemType<string> and
// in this example i have implemented itemType but in real use case i want to infer
//it from the actual implementation
Run Code Online (Sandbox Code Playgroud)
目前 Typescript 不支持对变量进行部分推断。您唯一的选择是使用函数的推理行为:
type itemType<T> = { item: T };
const createItemType = <T>(o: itemType<T>) => o;
const someItem = createItemType({ //someItem is typed as itemType<string>
item: 'Some String'
})
Run Code Online (Sandbox Code Playgroud)
请注意,在您的原始示例中键入 someItem 可能并不重要,因为{item: string},它仍然可以分配给itemType<string>,因为打字稿使用结构兼容性来确定可分配性。因此,如果结构兼容,则一切正常:
type itemType<T> = { item: T };
const someItem ={
item: 'Some String'
}
const someOtherItem: itemType<string> = someItem // ok
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |