Menu
CoddyTech

명령

Coddy Node.js 여정의 Node.js 기초 섹션에 포함된 레슨. 33개 중 4번째.

이 도구는 여러 가지 작업을 하며, 첫 번째 단어가 어떤 작업인지 알려 줍니다.

구조 분해는 첫 번째 단어를 가져오고 나머지는 배열에 모읍니다.

// 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가 표시됩니다.
  • 대문자 L을 사용한 List를 입력하면 Unknown command: List가 표시됩니다. JavaScript는 대문자도 포함해 글자 하나하나를 비교하므로 List는 list와 다릅니다.

직접 해보기

// 메모 도구는 여기서 시작합니다.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);

Node.js 기초의 모든 레슨

직접 연습해 보세요: Express 플레이그라운드