Menu
CoddyTech

Comandos

Parte de la sección Conceptos básicos de Node.js del Journey de Node.js de Coddy. Lección 4 de 33.

La herramienta hará varias cosas, y la primera palabra indica cuál.

La desestructuración toma la primera palabra y reúne el resto en un arreglo:

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

action es la primera palabra y rest contiene todas las palabras que vienen después. rest.join(' ') vuelve a juntar esas palabras en una sola cadena. Una cadena de if y else if determina qué hacer. Un else final captura todas las palabras que no habías previsto, incluidos los errores tipográficos.

challenge icon

Desafío

Fácil

Tu herramienta hará varios trabajos, y la primera palabra después de node notes.js indica cuál. Ahora reconoce dos comandos, add y list, y responde a cualquier palabra que no conozca.

  1. En notes.js, reemplaza las dos líneas iniciales. Divide las palabras que vienen después de node notes.js en el comando, que es la primera palabra, y el resto, que son todas las demás palabras.
  2. Elige qué hacer mediante una cadena de if, else if y else que evalúe el comando. Cada comando imprime exactamente una línea:
    • add imprime Adding: seguido del resto de las palabras, unidas con espacios. node notes.js add Buy milk imprime Adding: Buy milk.
    • list imprime No notes yet. Las notas aún no se guardan en ningún sitio; eso se verá en el capítulo 3.
    • Cualquier otra primera palabra imprime Unknown command: seguida solo de esa primera palabra. node notes.js remove 3 imprime Unknown command: remove, sin el 3.
  3. No se debe imprimir nada más. Si la línea de la lección anterior que imprime Adding: queda fuera de la cadena, se ejecuta para cada comando, list imprime dos líneas y las comprobaciones fallan.

Los tres casos terminan normalmente, con el código de salida 0. La siguiente lección convierte los comandos desconocidos en errores.

Pruébalo: escribe cada uno de estos comandos en el cuadro después de $ node notes.js y pulsa Intro.

  • add Buy milk muestra Adding: Buy milk.
  • list muestra No notes yet.
  • remove 3 muestra Unknown command: remove.
  • List, con L mayúscula, muestra Unknown command: List. JavaScript compara el texto letra por letra, incluidas las mayúsculas, así que List no es list.

Pruébalo tú mismo

// Tu herramienta de notas comienza aquí.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);

Todas las lecciones de Conceptos básicos de Node.js

Practica por tu cuenta: Playground de Express