【发布时间】:2017-05-12 01:08:51
【问题描述】:
在此代码中,v1 的类型为BehaviorSubject<string | number>,v2 的类型为{}。
我希望v1 的类型为BehaviorSubject<string>,v2 的类型为{ a: number, b: number }。
TypeScript 类型系统可以实现这样的事情吗?
interface Test
{
prop: {
(x: string | number): BehaviorSubject<typeof x>;
(x: {}): typeof x;
}
}
let test: Test;
let v1 = test.prop('');
let v2 = test.prop({ a: 1, b: 2 });
即使使用 keyof 或映射类型功能,它也可能与最新的 TypeScript 2.1 一起使用。
【问题讨论】:
标签: typescript