我想创建一个接口,其中属性可以是string
或Function
,必须返回string
。我目前有以下内容:
interface IExample {
prop: string|Function;
}
但这并不是我明确要求的,因为Function
被允许返回任何东西。我想告诉编译器返回值必须是string
。
如何在打字稿中实现这一目标?或者它有可能吗?
答案 0 :(得分:11)
type propType = () => string;
interface IExample {
field : string | propType;
}
class MyClass1 implements IExample {
field : string;
}
class MyClass2 implements IExample {
field() {
return "";
}
}
type PropertyFunction<T> = () => T;
interface IExample {
field : string | PropertyFunction<string>;
}