我有一个函数,可以通过将它们字符串化来将不同的值存储到本地存储中,我想限制该函数不能使用Moment对象。语法如下:
public static set<TValue>(
key: LocalStorageKeyEnum,
value: TValue,
...keySuffixes: string[]
) {
localStorage.setItem(
LocalStorage.buildKey(key, keySuffixes),
JSON.stringify(value)
)
}
问题是,如果第二个参数是Moment对象,并且我想在编写<TValue>
时排除此类型,则该函数将正常工作。有没有办法使用Typescript做到这一点,或者唯一的办法就是在运行时运行检查?我可以使用2种类型,其中第二种是排除Moment类型的属性的类型,像这样]
type Variants = { value: TValue, date: moment.Moment } type ExcludeDate = Exclude {typeof Variants, "date"}
但是我想知道是否还有另一种方法。谢谢!我是Typescript的新手,所以如果我不太清楚,我感到抱歉。
我有一个函数,可以通过将它们字符串化来将不同的值存储到本地存储中,我想限制该函数不能使用Moment对象。语法如下:...
您可以按条件类型排除类型: