พารามิเตอร์ทางเลือกของฟังก์ชันใน TypeScript

สามารถทำให้ฟังก์ชันรับจำนวนพารามิเตอร์ที่แปรผันได้ โดยจำเป็นต้องประกาศพารามิเตอร์บางส่วน (หรือทั้งหมด) เป็นทางเลือก

เพื่อระบุว่าพารามิเตอร์เป็นทางเลือก ให้ใส่เครื่องหมายคำถามหลังชื่อของมัน

ลองประกาศนามสกุลเป็นพารามิเตอร์ทางเลือกในฟังก์ชันของเรากัน:

typescriptfunction func(first: string, last?: string) {
  return first + ' ' + last;
}

หากเมื่อเรียกใช้ฟังก์ชันไม่ได้ระบุพารามิเตอร์ทางเลือก ค่าของมันจะเป็น undefined ลองปรับเปลี่ยนฟังก์ชันของเราโดยคำนึงถึงสิ่งนี้:

typescriptfunction func(first: string, last?: string) {
  if (last !== undefined) {
    return first + ' ' + last;
  } else {
    return first;
  }
}

สามารถทำให้ง่ายขึ้นได้โดยใช้การตรวจสอบแบบสั้น:

typescriptfunction func(first: string, last?: string) {
  if (last) {
    return first + ' ' + last;
  } else {
    return first;
  }
}

ตอนนี้ลองใช้ฟังก์ชันของเรากัน เรียกมันด้วยสองพารามิเตอร์:

typescriptfunc('john', 'smit'); // จะคืนค่า 'john smit'

เรียกมันด้วยหนึ่งพารามิเตอร์:

typescriptfunc('john'); // จะคืนค่า 'john'
Задание 1

สร้างฟังก์ชันที่รับพารามิเตอร์เป็นวัน เดือน และปี แล้วคืนค่าวันในสัปดาห์ที่ตรงกับวันที่นั้น ให้พารามิเตอร์ทั้งสามเป็นทางเลือกทั้งหมด หากไม่ส่งพารามิเตอร์ใดมา ค่าของมันควรจะเป็นค่าที่ตรงกับวันที่ปัจจุบัน