Trong trường hợp bạn đang sử dụng nhận xét kiểu nội tuyến trên các đối số của hàm và đang tự hỏi làm thế nào để đánh dấu một đối số hàm là tùy chọn trong ký hiệu đó, tôi thấy rằng chỉ cần gán giá trị mặc định cho các đối số tùy chọn đã hoạt động. Nếu bạn muốn mặc định là mặc định, undefined
bạn cũng phải đặt nó một cách rõ ràng, nếu không đối số sẽ không được đánh dấu là tùy chọn (ngay cả khi nó đứng trước các đối số đã tùy chọn):
function demo(
/** @type {String} */ mandatory,
/** @type {Number} */ optional1 = 0,
/** @type {Number} optional2 = undefined,
)
Nếu bạn di chuột qua demo
IDE của mình, bạn sẽ thấy cả hai optional1
và optional2
hiển thị dưới dạng tùy chọn ngay bây giờ. Trong VSCode được chỉ ra ?
sau tên đối số (ký hiệu TypeScript). Nếu bạn xóa = undefined
khỏi optional2
bạn sẽ thấy chỉ optional1
là tùy chọn, tất nhiên là vô nghĩa vì vậy giá trị mặc định ở đây phải rõ ràng như tôi đã ám chỉ trong đoạn trên.