Kodokon kodokon.com

การระบุชนิดให้ฟังก์ชัน: พารามิเตอร์ ค่าที่คืน และค่าทางเลือก

ทำให้ฟังก์ชันของคุณปลอดภัยขึ้นด้วยการระบุชนิดให้พารามิเตอร์ ค่าที่คืน และพารามิเตอร์ทางเลือก

9 นาที · 3 คำถาม

เปิดบทเรียนนี้ใน Kodokon

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

TYPESCRIPT
function greet(name: string): string {
  return "Hello " + name + "!";
}

const message = greet("Karim");
console.log(message); // "Hello Karim!"
ค่านำเข้า: string ค่าส่งออก: string

ฟังก์ชันบางตัวไม่คืนค่าอะไรเลย: มันเพียงทำการกระทำบางอย่าง เช่น แสดงข้อความ ชนิดของค่าที่คืนของมันจึงเป็น void คำที่หมายถึง "ว่างเปล่า" TypeScript จะเตือนคุณหากคุณพยายามใช้ผลลัพธ์ของมันเป็นค่า

TYPESCRIPT
function logWelcome(name: string): void {
  console.log("Welcome, " + name + "!");
}

logWelcome("Fatou"); // prints, but returns nothing
void ระบุการไม่มีค่าที่คืน

เช่นเดียวกับพร็อพเพอร์ตี้ของอินเทอร์เฟซ พารามิเตอร์สามารถทำให้เป็น ทางเลือก (optional) ได้ด้วย ? ผู้เรียกใช้จึงระบุมันหรือไม่ระบุก็ได้ ภายในฟังก์ชัน อย่าลืมจัดการกรณีที่มันหายไป

TYPESCRIPT
function makeCoffee(size: string, sugar?: boolean) {
  if (sugar) {
    return "A " + size + " coffee with sugar.";
  }
  return "A " + size + " coffee without sugar.";
}

makeCoffee("large", true); // with sugar
makeCoffee("small");       // sugar is missing
sugar? จะระบุก็ได้... หรือไม่ระบุก็ได้
TYPESCRIPT
function repeat(word: string, times: number = 2) {
  return word.repeat(times);
}

console.log(repeat("ha"));    // "haha"
console.log(repeat("ha", 3)); // "hahaha"
แบบอื่น: ค่าเริ่มต้นด้วยเครื่องหมาย =

ทดสอบความรู้

ตรวจสอบว่าคุณจำประเด็นสำคัญของบทเรียนนี้ได้ครบถ้วน

  1. ใน function greet(name: string): string คำว่า string ตัวที่สองหมายถึงอะไร?
    • ชนิดของพารามิเตอร์ name
    • ชนิดของค่าที่คืนโดยฟังก์ชัน
    • ชื่อของฟังก์ชัน
  2. ชนิดใดที่บ่งบอกว่าฟังก์ชันไม่คืนค่าอะไรเลย?
    • null
    • empty
    • void
    • zero
  3. พารามิเตอร์ทางเลือกต้องวางไว้ที่ใดในฟังก์ชัน?
    • หลังพารามิเตอร์ที่จำเป็น
    • ก่อนพารามิเตอร์ที่จำเป็น
    • ที่ใดก็ได้ในรายการ