Cách 1: Default parameters (ES6) – Khuyên dùng
function greet(name, greeting = "Xin chào") {
return greeting + " " + name;
}
greet("An"); // "Xin chào An"
greet("An", "Hello"); // "Hello An"
Cách 2: Kiểm tra undefined (trước ES6)
function greet(name, greeting) {
greeting = greeting !== undefined ? greeting : "Xin chào";
// hoặc: greeting = greeting || "Xin chào"; (nhưng sai nếu truyền "" hoặc 0)
return greeting + " " + name;
}
Cách 3: Object destructuring với default (cho nhiều tùy chọn)
function createUser({name, age = 18, role = "user"} = {}) {
return {name, age, role};
}
createUser({name: "An"}); // {name:"An", age:18, role:"user"}
createUser({name: "Bình", age: 25}); // {name:"Bình", age:25, role:"user"}
Lưu ý
- Default parameters được đánh giá tại call time (mỗi lần gọi).
- Có thể dùng biểu thức/hàm:
default = getDefault().
- Tham số không có default đứng sau tham số có default vẫn hợp lệ (nhưng ít dùng).