Menu
CoddyTech

Các lệnh

Thuộc phần Kiến thức cơ bản về Node.js trong hành trình Node.js của Coddy. Bài học 4 trên 33.

Công cụ sẽ thực hiện một số việc, và từ đầu tiên cho biết việc cần làm.

Phép phân rã lấy từ đầu tiên và gom phần còn lại vào một mảng (array):

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

action là từ đầu tiên và rest chứa mọi từ phía sau. rest.join(' ') ghép các từ đó lại thành một chuỗi (string). Một chuỗi if và else if chọn việc cần làm. Cuối cùng, else sẽ xử lý mọi từ bạn không dự tính, kể cả lỗi gõ.

challenge icon

Thử thách

Dễ

Công cụ của bạn sẽ thực hiện một số việc, và từ đầu tiên sau node notes.js cho biết đó là việc gì. Giờ đây, công cụ nhận biết hai lệnh add và list, cùng với câu trả lời cho mọi từ mà nó không biết.

  1. Trong notes.js, thay cả hai dòng khởi tạo. Tách các từ sau node notes.js thành lệnh, là từ đầu tiên, và phần còn lại, gồm tất cả các từ khác.
  2. Dùng một chuỗi if, else if, else để chọn việc cần làm dựa trên lệnh. Mỗi lệnh in ra đúng một dòng:
    • add in ra Adding: theo sau là phần còn lại của các từ, được nối bằng dấu cách. node notes.js add Buy milk in ra Adding: Buy milk.
    • list in ra No notes yet. Ghi chú vẫn chưa được lưu ở đâu cả; việc đó sẽ được thực hiện trong chương 3.
    • Mọi từ đầu tiên khác đều in ra Unknown command: theo sau chỉ bằng từ đầu tiên đó. node notes.js remove 3 in ra Unknown command: remove, không kèm 3.
  3. Không được in ra nội dung nào khác. Nếu dòng in ra Adding: từ bài học trước vẫn nằm bên ngoài chuỗi điều kiện, dòng đó sẽ chạy với mọi lệnh, list sẽ in ra hai dòng và các bước kiểm tra sẽ thất bại.

Cả ba trường hợp đều kết thúc bình thường, với mã thoát 0. Bài học tiếp theo sẽ biến các lệnh không xác định thành lỗi.

Thử nhé: nhập từng nội dung sau vào ô bên cạnh $ node notes.js rồi nhấn Enter.

  • add Buy milk hiển thị Adding: Buy milk.
  • list hiển thị No notes yet.
  • remove 3 hiển thị Unknown command: remove.
  • List, với chữ L viết hoa, hiển thị Unknown command: List. JavaScript so sánh văn bản từng ký tự, bao gồm cả chữ hoa, vì vậy List không phải là list.

Tự làm thử

// Công cụ ghi chú của bạn bắt đầu từ đây.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);

Tất cả bài học trong Kiến thức cơ bản về Node.js

Tự luyện tập: Playground Express