Ich habe ein Projekt mit zahlreichen Objekten, die konstante String-Werte enthalten.Kann ich Standardkonstanten exportieren und Aliase aus demselben Modul eingeben?
const StringLiterals = {
a: "LetterA",
b: "LetterB",
c: "LetterC"
};
export default StringLiterals;
In vielen Fällen werden diese Zeichenfolgenkonstanten als Parameter verwendet. Ich will sicherstellen, dass nur Strings von diesen Konstanten verwendet werden, also definiere ich einen Typalias.
Jetzt muss ich diesen Typ Alias überall neu definieren, ich möchte es verwenden. Ich würde die String-Werte und die Art alias im selben Modul definieren, so dass ich etwas tun kann:
import StringLiteral from "./StringLiteral";
function doSomething(str: StringLiteral) {
if (str === StringLiteral.a) { ... }
}
auch:
- Ich will nicht zwei verschiedene Module, eine, die der Typ und der andere, der die Zeichenfolgenwerte enthält.
- Ich möchte keine Enums, weil sie nicht Kennungen String-Werte zuordnen können; Sie müssen numerisch sein. Ich möchte auch eine Menge von Array-Referenzen vermeiden, um zwischen String- und numerischen Werten zu übersetzen.
Ist das überhaupt möglich?