Команды
Часть раздела Основы 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 обрабатывает все слова, которые ты не предусмотрел, включая опечатки.
Задание
ЛегкоТвоя программа будет выполнять несколько задач, и первое слово после node notes.js указывает, какую именно. Теперь она распознаёт две команды: add и list, а также отвечает на любое незнакомое ей слово.
- В
notes.jsзамени обе начальные строки. Раздели слова послеnode notes.jsна команду — первое слово — и остальные слова. - Выбери, что делать с командой, используя цепочку из одного
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.
- Ничего другого выводиться не должно. Если строка из прошлого урока, которая выводит
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