Funktion zum Hinzufügen einer Aufgabe
Teil des Abschnitts Einführung in TypeScript der JavaScript-Journey von Coddy. Lektion 46 von 73.
Aufgabe
EinfachDir wird Folgendes aus der vorherigen Herausforderung bereitgestellt:
- Das
Task-Interface mitid(number),title(string) undstatus(Literaltyp) - Drei Task-Variablen:
firstTask,secondTaskundthirdTask - Die Funktion
getTaskInfo
Erstelle eine Funktion namens addTask, die zwei Parameter entgegennimmt:
taskListvom TypTask[](ein Array von Task-Objekten)titlevom Typstring(der Titel für den neuen Task)
Die Funktion soll:
- Einen neuen Task mit einer eindeutigen ID erstellen (verwende die Länge des aktuellen Arrays + 1)
- Den Titel auf den bereitgestellten title-Parameter setzen
- Den Status auf
'todo'setzen - Ein neues Array zurückgeben, das alle vorhandenen Tasks sowie den neuen Task enthält
Erstelle eine anfängliche Task-Liste, indem du eine Variable namens initialTasks vom Typ Task[] erstellst, die firstTask und secondTask enthält.
Verwende deine Funktion addTask, um der "Review code changes" einen neuen Task mit dem Titel initialTasks hinzuzufügen, und speichere das Ergebnis in einer Variable namens updatedTasks.
Gib die folgenden Ausgaben in separaten Zeilen aus:
- Gib die Länge von
initialTasksaus - Gib die Länge von
updatedTasksaus - Rufe
getTaskInfomit dem letzten Task inupdatedTasksauf und gib das Ergebnis aus - Gib den Titel des neu hinzugefügten Tasks aus (der letzte Task in
updatedTasks) - Gib den Status des neu hinzugefügten Tasks aus
Probier es selbst
// TODO: Write your code here
// Create the Task interface
interface Task {
id: number;
title: string;
status: 'todo' | 'in-progress' | 'done';
}
// Create the task variables
const firstTask: Task = {
id: 1,
title: "Learn TypeScript interfaces",
status: 'todo'
};
const secondTask: Task = {
id: 2,
title: "Build task management app",
status: 'in-progress'
};
const thirdTask: Task = {
id: 3,
title: "Write unit tests",
status: 'done'
};
// Create the getTaskInfo function
function getTaskInfo(task: Task): string {
return `Task ${task.id}: ${task.title} - ${task.status}`;
}
// Print the required outputs
console.log(getTaskInfo(firstTask));
console.log(getTaskInfo(secondTask));
console.log(getTaskInfo(thirdTask));
console.log(firstTask.status);
console.log(secondTask.title);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 erstellen7Projekt: Eine einfache Aufgabenliste
Projekt: Task-Struct definierenFunktion zum Hinzufügen einer Aufgabe2Basis-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: TypeScript-Playground