jsrosetta

Hàm

Giá trị mặc định

Tham số mặc định trong Node.js và Swift so với Option (Rust), overloading (Java) và con trỏ + nil (Go).

Phiên bản tối thiểu
Node.js ≥ 12.20Go ≥ 1.0Rust ≥ 1.0Swift ≥ 5.1Java ≥ 25
Đã chạy thử trên
Node.js 24.12.0Go 1.27.1Rust 1.98.1Swift 6.2.4Java 25.0.4.1

Code Node.js là ES module: lưu file .mjs hoặc đặt "type": "module" trong package.json.

Node.js cho phép gán giá trị mặc định ngay trong danh sách tham số. Swift là ngôn ngữ duy nhất khác trong danh sách có đúng cú pháp này. Go không có cú pháp này — muốn biết caller có "để trống" tham số hay không, bạn phải dùng con trỏ và kiểm tra nil. Rust cũng không có tham số mặc định — dùng Option để bắt buộc caller truyền rõ ràng "có" hay "không". Java giải quyết bằng overloading: định nghĩa nhiều phiên bản của cùng một hàm.

Giá trị mặc định cho tham số

function greet(name = 'stranger') {
  return `hello ${name}`;
}
 
console.log(greet());      // hello stranger
console.log(greet('bob')); // hello bob

Tham khảo: github.com/miguelmota/golang-for-nodejs-developers#default-values