Tìm hiểu sự khác biệt giữa arguments và parameters trong JavaScript, và xem có quan trọng không việc dùng thuật ngữ nào.
Argument/Parameter trong JavaScript là gì?
Khi bạn thực thi hàm trong JavaScript, bạn có tùy chọn truyền thêm thông tin cho hàm khi gọi nó.
Thông tin bạn truyền được gọi là argument hoặc parameter, và hầu hết lập trình viên sẽ dùng hai thuật ngữ này thay thế cho nhau.
Ví dụ:
function greetings(name) { console.log(name) } greetings('Anna')
Phần 'Anna' là thứ được truyền khi hàm greetings() được gọi.
Vậy đó là argument hay parameter?
Đây là ý kiến của Dan Abramov về arguments vs. parameters trong JavaScript:
NguồnChúng được gọi là "arguments" hoặc "parameters" tùy thuộc vào phía nào bạn đang đọc (định nghĩa hàm hoặc gọi hàm). Tuy nhiên, sự phân biệt thuật ngữ này là mang lý thuyết, và thực tế hai thuật ngữ này dùng thay thế cho nhau.
Nói cách khác, có sự khác biệt về khi dùng thuật ngữ nào trong giao tiếp thuần túy:
- Parameter: thứ được truyền bên trong định nghĩa hàm.
- Argument: thứ được truyền khi hàm được gọi.
Vậy trong ví dụ trên, nếu dùng thuật ngữ đúng theo sách:
- Chúng ta truyền một argument
Annacho hàm. - Phần
namebên trongfunction greetings(name)là parameter.
Tuy nhiên, dùng thuật ngữ đúng lúc đúng không làm khác biệt gì khi chạy và hiểu code của bạn.
Trong tất cả điều bạn có thể lo lắng trong phát triển, đây không phải một trong số đó — trừ khi bạn đi phỏng vấn nơi họ thực sự quan tâm đến thứ này hơn khả năng viết code tốt của bạn.