명령
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는 오타를 포함해 예상하지 못한 모든 단어를 처리합니다.
챌린지
쉬움도구는 여러 작업을 수행하며, 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가 표시됩니다.- 대문자 L을 사용한
List를 입력하면Unknown command: List가 표시됩니다. JavaScript는 대문자도 포함해 글자 하나하나를 비교하므로List는list와 다릅니다.
직접 해보기
// 메모 도구는 여기서 시작합니다.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);
Node.js 기초의 모든 레슨
직접 연습해 보세요: Express 플레이그라운드