พารามิเตอร์ทางเลือกของฟังก์ชันใน TypeScript
สามารถทำให้ฟังก์ชันรับจำนวนพารามิเตอร์ที่แปรผันได้ โดยจำเป็นต้องประกาศพารามิเตอร์บางส่วน (หรือทั้งหมด) เป็นทางเลือก
เพื่อระบุว่าพารามิเตอร์เป็นทางเลือก ให้ใส่เครื่องหมายคำถามหลังชื่อของมัน
ลองประกาศนามสกุลเป็นพารามิเตอร์ทางเลือกในฟังก์ชันของเรากัน:
function func(first: string, last?: string) {
return first + ' ' + last;
}
หากเมื่อเรียกใช้ฟังก์ชันไม่ได้ระบุพารามิเตอร์ทางเลือก ค่าของมันจะเป็น undefined ลองปรับเปลี่ยนฟังก์ชันของเราโดยคำนึงถึงสิ่งนี้:
function func(first: string, last?: string) {
if (last !== undefined) {
return first + ' ' + last;
} else {
return first;
}
}
สามารถทำให้ง่ายขึ้นได้โดยใช้การตรวจสอบแบบสั้น:
function func(first: string, last?: string) {
if (last) {
return first + ' ' + last;
} else {
return first;
}
}
ตอนนี้ลองใช้ฟังก์ชันของเรากัน เรียกมันด้วยสองพารามิเตอร์:
func('john', 'smit'); // จะคืนค่า 'john smit'
เรียกมันด้วยหนึ่งพารามิเตอร์:
func('john'); // จะคืนค่า 'john'
สร้างฟังก์ชันที่รับพารามิเตอร์เป็นวัน เดือน และปี แล้วคืนค่าวันในสัปดาห์ที่ตรงกับวันที่นั้น ให้พารามิเตอร์ทั้งสามเป็นทางเลือกทั้งหมด หากไม่ส่งพารามิเตอร์ใดมา ค่าของมันควรจะเป็นค่าที่ตรงกับวันที่ปัจจุบัน