在 Typescript 中将 属性 定义为字符串或 returns 字符串的函数
Define a property as string or function that returns a string in Typescript
我想创建一个界面,其中 属性 可以是 string
或必须 return 是 string
的 Function
。我目前有以下内容:
interface IExample {
prop: string|Function;
}
但这对我来说还不够明确,因为 Function
可以 return 任何东西。我想告诉编译器 return 值必须是 string
.
这在 TypeScript 中如何实现?或者根本不可能吗?
type propType = () => string;
interface IExample {
field : string | propType;
}
class MyClass1 implements IExample {
field : string;
}
class MyClass2 implements IExample {
field() {
return "";
}
}
更新 1
type PropertyFunction<T> = () => T;
interface IExample {
field : string | PropertyFunction<string>;
}
我想创建一个界面,其中 属性 可以是 string
或必须 return 是 string
的 Function
。我目前有以下内容:
interface IExample {
prop: string|Function;
}
但这对我来说还不够明确,因为 Function
可以 return 任何东西。我想告诉编译器 return 值必须是 string
.
这在 TypeScript 中如何实现?或者根本不可能吗?
type propType = () => string;
interface IExample {
field : string | propType;
}
class MyClass1 implements IExample {
field : string;
}
class MyClass2 implements IExample {
field() {
return "";
}
}
更新 1
type PropertyFunction<T> = () => T;
interface IExample {
field : string | PropertyFunction<string>;
}