7

我想创建一个接口,其中属性可以是 astringFunction必须返回 a 的 a string。我目前有以下内容:

interface IExample {
  prop: string|Function;
}

但这对我来说不够明确,因为Function允许返回任何东西。我想告诉编译器返回值必须是string.

这在 TypeScript 中怎么可能?或者有可能吗?

4

1 回答 1

16
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>;
}
于 2015-10-29T08:11:33.063 回答