String-Enums verwenden
Teil des Abschnitts Einführung in TypeScript der JavaScript-Journey von Coddy. Lektion 54 von 73.
String-Enums eignen sich besonders gut als Funktionsparameter, da sie klare, lesbare Werte liefern und gleichzeitig die Typsicherheit gewährleisten.
So können Sie ein String-Enum in einer Funktion verwenden:
function move(direction: Direction): void {
console.log(`Moving ${direction.toLowerCase()}...`);
}Wenn Sie diese Funktion aufrufen, akzeptiert TypeScript nur die vordefinierten Enum-Werte. Sie können sie mit move(Direction.Up) aufrufen, was "Moving up..." ausgeben wird. Ihr Code-Editor bietet eine Autovervollständigung für die verfügbaren Enum-Mitglieder, und TypeScript erkennt alle Versuche, ungültige Richtungswerte zu übergeben.
Aufgabe
EinfachFolgendes aus der vorherigen Herausforderung wird dir zur Verfügung gestellt:
- Das
DirectionString-Enum mit den MitgliedernUp,Down,LeftundRight - Variablen:
upDirection,downDirection,leftDirectionundrightDirection
Erstelle eine Funktion namens move, die einen Parameter entgegennimmt:
directionvom TypDirection
Die Funktion sollte:
- Eine Nachricht im Format
"Moving [direction]..."ausgeben, wobei[direction]die kleingeschriebene Version des String-Werts des Enums ist - Einen Rückgabetyp von
voidhaben
Erstelle eine Funktion namens getMovementDescription, die einen Parameter entgegennimmt:
directionvom TypDirection
Die Funktion sollte:
- Einen String zurückgeben, der die Bewegung basierend auf der Richtung beschreibt:
- Für
Direction.Up: gib"Going upward"zurück - Für
Direction.Down: gib"Going downward"zurück - Für
Direction.Left: gib"Turning left"zurück - Für
Direction.Right: gib"Turning right"zurück - Einen expliziten Rückgabetyp von
stringhaben
Erstelle eine Variable namens playerDirection vom Typ Direction und weise ihr Direction.Up zu.
Gib die folgenden Ausgaben aus:
- Rufe
movemitDirection.Upauf - Rufe
movemitleftDirectionauf - Rufe
movemitplayerDirectionauf - Gib das Ergebnis des Aufrufs von
getMovementDescriptionmitDirection.Downaus - Gib das Ergebnis des Aufrufs von
getMovementDescriptionmitrightDirectionaus - Rufe
movemitDirection.Rightauf
Probier es selbst
// Aus der vorherigen Herausforderung - Direction-Enum und Variablen
enum Direction {
Up = "Up",
Down = "Down",
Left = "Left",
Right = "Right"
}
const upDirection = Direction.Up;
const downDirection = Direction.Down;
const leftDirection = Direction.Left;
const rightDirection = Direction.Right;
// TODO: Schreibe deinen Code hier
// Erstelle die move-Funktion, die einen Direction-Parameter entgegennimmt und "Moving [direction]..." ausgibt
// Erstelle die getMovementDescription-Funktion, die Bewegungsbeschreibungen zurückgibt
// Erstelle die playerDirection-Variable
// Rufe die Funktionen auf und gib die erforderlichen Ausgaben ausDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Einführung in TypeScript
1Erste Schritte mit TS
Was ist TypeScript?Warum TypeScript verwenden?Dein erster TypeScript-CodeKompilierungsprozess & FehlerZusammenfassung: Einführung in TS4Arbeiten mit Funktionen
Typisierung von Parametern & RückgabewertenTypisierung von Arrow-FunktionenDer Rückgabetyp 'void'Optionale Parameter mit '?'Standard-ParameterwerteTypisierung von Rest-ParameternDefinieren von FunktionstypenZusammenfassung: Typisierte Funktionen erstellen2Basis-Typen
Basis-Typen: str, num, booleanDer 'any'-Typ: Der NotausgangDer 'unknown'-TypArbeiten mit 'null' & 'undef'Typinferenz in der PraxisExplizite Typ-AnnotationenZusammenfassung: Übung zu Basis-Typen5Typen: Aliase, Unions & Intersections
Typ-Aliase für primitive DatentypenUnion-Typen ('|')Arbeiten mit Union-TypenLiteral-TypenIntersection-Typen ('&')Kombinieren von Typ-AliasenZusammenfassung: Fortgeschrittene Typ-Kombinationen3Datenstruktur: Arrays & Tupel
Typisierte Arrays'readonly'-Modifikator für ArraysWas ist ein Tupel?Deklarieren von und Zugriff auf TupelDestrukturierung von TupelnReadonly-TupelMehrdimensionale typisierte ArraysSpread-Operator mit ArraysZusammenfassung: Arrays und TupelÜbe selbstständig: Online-JavaScript-Compiler