Menu
CoddyTech

Commandes

Fait partie de la section Les bases de Node.js du Journey Node.js de Coddy. Leçon 4 sur 33.

L’outil effectuera plusieurs opérations, et le premier mot indique laquelle.

La déstructuration récupère le premier mot et rassemble les autres dans un tableau :

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

action est le premier mot et rest contient tous les mots qui le suivent. rest.join(' ') rassemble ces mots en une seule chaîne. Une suite de if et de else if détermine quoi faire. Un dernier else intercepte tous les mots que tu n’avais pas prévus, y compris les fautes de frappe.

challenge icon

Défi

Facile

Ton outil va effectuer plusieurs tâches, et le premier mot après node notes.js indique laquelle. Il connaît maintenant deux commandes, add et list, ainsi qu’une réponse pour tout mot qu’il ne connaît pas.

  1. Dans notes.js, remplace les deux lignes de départ. Sépare les mots qui suivent node notes.js en deux parties : la commande, qui est le premier mot, et le reste, qui comprend tous les autres mots.
  2. Choisis quoi faire à l’aide d’une chaîne if, else if, else selon la commande. Chaque commande affiche exactement une ligne :
    • add affiche Adding: suivi du reste des mots, séparés par des espaces. node notes.js add Buy milk affiche Adding: Buy milk.
    • list affiche No notes yet. Les notes ne sont encore enregistrées nulle part ; cela viendra au chapitre 3.
    • Tout autre premier mot affiche Unknown command: suivi uniquement de ce premier mot. node notes.js remove 3 affiche Unknown command: remove, sans le 3.
  3. Rien d’autre ne doit s’afficher. Si la ligne de la leçon précédente qui affiche Adding: reste en dehors de la chaîne, elle s’exécute pour chaque commande, list affiche deux lignes et les vérifications échouent.

Les trois cas se terminent normalement, avec le code de sortie 0. La leçon suivante transformera les commandes inconnues en erreurs.

Essaie : saisis chacun de ces éléments dans la zone après $ node notes.js, puis appuie sur Entrée.

  • add Buy milk affiche Adding: Buy milk.
  • list affiche No notes yet.
  • remove 3 affiche Unknown command: remove.
  • List, avec un L majuscule, affiche Unknown command: List. JavaScript compare le texte lettre par lettre, en tenant compte des majuscules : List n’est donc pas list.

Essayez vous-même

// Votre outil de prise de notes commence ici.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);

Toutes les leçons de Les bases de Node.js

Entraînez-vous par vous-même : Playground Express