Menu
CoddyTech

Befehle

Teil des Abschnitts Node.js-Grundlagen der Node.js-Journey von Coddy. Lektion 4 von 33.

Das Tool erledigt mehrere Dinge, und das erste Wort gibt an, welches davon.

Beim Destrukturieren wird das erste Wort entnommen und der Rest in einem Array gesammelt:

// node calc.js double 4
const [action, ...rest] = process.argv.slice(2);
if (action === 'double') {
    console.log(Number(rest[0]) * 2);
}

action ist das erste Wort und rest enthält alle Wörter danach. rest.join(' ') fügt diese Wörter wieder zu einer Zeichenkette zusammen. Eine Kette aus if und else if wählt aus, was zu tun ist. Ein abschließendes else fängt alle Wörter ab, mit denen du nicht gerechnet hast, einschließlich eines Tippfehlers.

challenge icon

Aufgabe

Einfach

Dein Tool wird mehrere Aufgaben erledigen, und das erste Wort nach node notes.js gibt an, welche. Jetzt lernt es zwei Befehle, add und list, sowie eine Antwort für jedes Wort, das es nicht kennt.

  1. Ersetze in notes.js beide Startzeilen. Teile die Wörter nach node notes.js in den Befehl, also das erste Wort, und den Rest, also alle übrigen Wörter, auf.
  2. Lege mit einer if-, else if-, else-Kette fest, was mit dem Befehl geschehen soll. Jeder Befehl gibt genau eine Zeile aus:
    • add gibt Adding: aus, gefolgt vom Rest der Wörter, die mit Leerzeichen verbunden werden. node notes.js add Buy milk gibt Adding: Buy milk aus.
    • list gibt No notes yet aus. Notizen werden noch nirgendwo gespeichert; das kommt in Kapitel 3.
    • Bei jedem anderen ersten Wort wird Unknown command: ausgegeben, gefolgt nur von diesem ersten Wort. node notes.js remove 3 gibt Unknown command: remove aus, ohne die 3.
  3. Es darf nichts anderes ausgegeben werden. Wenn die Zeile aus der letzten Lektion, die Adding: ausgibt, außerhalb der Kette bleibt, wird sie bei jedem Befehl ausgeführt, list gibt zwei Zeilen aus und die Prüfungen schlagen fehl.

Alle drei Fälle enden normal mit dem Exit-Code 0. In der nächsten Lektion werden unbekannte Befehle zu Fehlern.

Probier es aus: Gib jeden dieser Befehle in das Feld nach $ node notes.js ein und drücke die Eingabetaste.

  • add Buy milk zeigt Adding: Buy milk an.
  • list zeigt No notes yet an.
  • remove 3 zeigt Unknown command: remove an.
  • List mit großem L zeigt Unknown command: List an. JavaScript vergleicht Text Buchstabe für Buchstabe, einschließlich Großbuchstaben. Daher ist List nicht list.

Probier es selbst

// Dein Notizentool beginnt hier.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);

Alle Lektionen in Node.js-Grundlagen

Übe selbstständig: Express-Playground