TYPESCRIPT-如何在TYPESCRIPT对象的每个属性中允许更多类型?
我的项目中有一个对象。以下是模式:TYPESCRIPT-如何在TYPESCRIPT对象的每个属性中允许更多类型?,typescript,object,interface,Typescript,Object,Interface,我的项目中有一个对象。以下是模式: IObject : { prop1: number; prop2: number; } 这是我想要的90%用法的类型。但有几个实例要求我也为每个属性返回一个字符串。因此,对于一些实例,我需要一个返回: object: IObjectWithStrings // Here I want to add string to each property as acceptable type. // Something like object: IObjec
IObject : {
prop1: number;
prop2: number;
}
这是我想要的90%用法的类型。但有几个实例要求我也为每个属性返回一个字符串。因此,对于一些实例,我需要一个返回:
object: IObjectWithStrings // Here I want to add string to each property as acceptable type.
// Something like
object: IObjects extends string
我该怎么做??我可以为此创建一个新的接口,但我更愿意使用原始接口并扩展它。谢谢 您可以使用泛型来实现这一点。在本例中,您可以定义一个基类型IOObject,其中T表示动态类型,如下所示:
type IObject<T> = {
prop1: T;
prop2: T;
}
您可以使用泛型来实现这一点。在本例中,您可以定义一个基类型IOObject,其中T表示动态类型,如下所示:
type IObject<T> = {
prop1: T;
prop2: T;
}
您可以从现有类型创建另一个类型:
type IObject = {
prop1: number;
prop2: number;
}
type IObjectString = {
[K in keyof IObject]: string
}
type IObjectStringOrOriginal = {
[K in keyof IObject]: string | IObject[K]
}
您可以从现有类型创建另一个类型:
type IObject = {
prop1: number;
prop2: number;
}
type IObjectString = {
[K in keyof IObject]: string
}
type IObjectStringOrOriginal = {
[K in keyof IObject]: string | IObject[K]
}
谢谢我想到了。问题是,该对象来自DTO,不应该更改为接受不同的值,而只是因为FE需要接受带有are字符串的默认值。也不应该是泛型。谢谢你。。我会投票的,但我不能接受正确答案。谢谢。我想到了。问题是,该对象来自DTO,不应该更改为接受不同的值,而只是因为FE需要接受带有are字符串的默认值。也不应该是泛型。谢谢你。。我会投票,但我不能接受正确的说法。