javascript - hur man skapar en klass med en variabel som kan ha en av två typer angular


Jag vill skapa en klass för att definiera en typ av data. Jag vill begränsa datatyperna för fälten i den. Men problemet är att jag vill att fältet 'value' ska ha en av två typer beroende på en viss konfiguration.

Jag kommer att skapa flera objekt av denna klass, och några av dem har värde som en sträng och andra som ett objekt.

export class Raw {
    'enabled': boolean;
    'value': -------> string/object <-------;
    'data': object;
}

Svar #1

Använd en unionstyp:

export class Raw {
    value: string | object;
}

Observera: det finns inget behov av att 'citera' dina egenskapsnamn om de inte är ogiltiga identifierare (t.ex. om de innehåller mellanrum).

Relaterade artiklar