Function Parameters (Tham Số Hàm)
Nội dung
Phần tiêu đề “Nội dung” Default Parameters (Tham số mặc định) Giá trị mặc định khi đối số là undefined, biểu thức phức tạp, so sánh cách cũ
Rest Parameters (Gom phần còn lại) ...rest gom đối số thành mảng, rest vs spread, quy tắc sử dụng
Parameters vs Arguments
Phần tiêu đề “Parameters vs Arguments”- Parameters (tham số): “ô trống” trong khai báo hàm — tên biến đại diện cho đầu vào mà hàm mong đợi.
- Arguments (đối số): giá trị thật bạn truyền vào khi gọi hàm.
function add(a, b) { // a, b là parameters return a + b;}add(2, 3); // 2, 3 là argumentsfn.length
Phần tiêu đề “fn.length”fn.length cho biết số tham số vị trí “kỳ vọng” — tính đến tham số mặc định đầu tiên, không tính ...rest:
function f(a, b, c) {} // f.length === 3function g(a, b = 1, c) {} // g.length === 1 (dừng tại b có default)function h(a, ...rest) {} // h.length === 1Số đối số không khớp
Phần tiêu đề “Số đối số không khớp”Tham số không nhận giá trị → undefined:
function greet(name, greeting) { console.log(greeting, name);}greet("An"); // undefined "An"Đối số thừa bị bỏ qua (trừ khi dùng arguments hoặc ...rest):
function add(a, b) { return a + b;}add(1, 2, 3, 4); // 3 (chỉ dùng 2 đối số đầu)Đối tượng arguments chứa tất cả đối số (chỉ có trong non-arrow function):
function showAll() { console.log(arguments); // [Arguments] { '0': 1, '1': 2, '2': 3 } console.log(arguments.length); // 3}showAll(1, 2, 3);Tóm tắt
Phần tiêu đề “Tóm tắt”| Khái niệm | Mô tả | Ghi nhớ |
|---|---|---|
| Parameters | Biến trong khai báo hàm | fn.length đếm đến default đầu tiên |
| Arguments | Giá trị khi gọi hàm | Thừa → bỏ qua, thiếu → undefined |
arguments | Object array-like chứa tất cả đối số | Chỉ trong non-arrow function |