Menu
CoddyTech

Команды

Часть раздела Основы Node.js путешествия по Node.js на Coddy. Урок 4 из 33.

Инструмент выполнит несколько действий, а первое слово указывает, какое именно.

Деструктуризация берёт первое слово и собирает остальные в массив:

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

action — это первое слово, а rest содержит все слова после него. rest.join(' ') соединяет эти слова обратно в одну строку. Цепочка из if и else if выбирает, что делать. Последний else обрабатывает все слова, которые ты не предусмотрел, включая опечатки.

challenge icon

Задание

Легко

Твоя программа будет выполнять несколько задач, и первое слово после node notes.js указывает, какую именно. Теперь она распознаёт две команды: add и list, а также отвечает на любое незнакомое ей слово.

  1. В notes.js замени обе начальные строки. Раздели слова после node notes.js на команду — первое слово — и остальные слова.
  2. Выбери, что делать с командой, используя цепочку из одного if, else if, else. Каждая команда выводит ровно одну строку:
    • add выводит Adding: , а затем остальные слова, соединённые пробелами. Команда node notes.js add Buy milk выводит Adding: Buy milk.
    • list выводит No notes yet. Заметки пока нигде не сохраняются; это появится в главе 3.
    • Любое другое первое слово выводит Unknown command: , а затем только это первое слово. Команда node notes.js remove 3 выводит Unknown command: remove, без 3.
  3. Ничего другого выводиться не должно. Если строка из прошлого урока, которая выводит Adding:, останется за пределами цепочки, она будет выполняться для каждой команды, команда list выведет две строки, и проверки не пройдут.

Все три случая завершаются нормально, с кодом выхода 0. В следующем уроке неизвестные команды будут превращаться в ошибки.

Попробуй: введи каждую из этих команд в поле после $ node notes.js и нажми Enter.

  • add Buy milk выводит Adding: Buy milk.
  • list выводит No notes yet.
  • remove 3 выводит Unknown command: remove.
  • List с заглавной L выводит Unknown command: List. JavaScript сравнивает текст посимвольно, учитывая заглавные буквы, поэтому List — это не list.

Попробуйте сами

// Ваш инструмент для заметок начинается здесь.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);

Все уроки раздела Основы Node.js

Потренируйтесь самостоятельно: Песочница Express