Kodokon kodokon.com

تحديد أنواع الدوال: المعاملات، القيمة المُعادة، الاختيارية

اجعل دوالك أكثر أمانًا بتحديد أنواع معاملاتها وقيمتها المُعادة ومعاملاتها الاختيارية.

9 دقيقة · 3 أسئلة

افتح هذا الدرس في Kodokon

الدالة هي برنامج مصغّر قابل لإعادة الاستخدام: تستقبل معاملات (مدخلاتها) ويمكنها أن تُعيد قيمة (مخرجاتها). تحديد نوع دالة يعني تحديد نوع كل معامل، ثم نوع القيمة المُعادة، الذي يُكتب بعد القوس المغلق.

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

const message = greet("Karim");
console.log(message); // "Hello Karim!"
المدخل: نص. المخرج: نص.

بعض الدوال لا تُعيد شيئًا: إنها ببساطة تنفّذ إجراءً، مثل عرض رسالة. عندئذٍ يكون نوع القيمة المُعادة لها void، وهي كلمة تعني "فارغ". سيحذّرك TypeScript إذا حاولت استخدام نتيجتها كقيمة.

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

logWelcome("Fatou"); // prints, but returns nothing
‎void‎ يشير إلى غياب قيمة مُعادة.

تمامًا مثل خصائص الواجهة، يمكن جعل معامل اختياريًا بعلامة ?. عندئذٍ يمكن للمستدعي أن يوفّره أو لا. داخل الدالة، تذكّر أن تعالج الحالة التي يكون فيها مفقودًا.

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. أين يجب وضع المعامل الاختياري في الدالة؟
    • بعد المعاملات المطلوبة
    • قبل المعاملات المطلوبة
    • في أي مكان في القائمة