logo

وظيفة سهم TypeScript

يوفر إصدار ES6 من TypeScript وظيفة السهم وهي الاختزال بناء الجملة لتعريف الوظيفة المجهولة، أي لتعبيرات الوظيفة. إنه يحذف الكلمة الأساسية للوظيفة. يمكننا أن نسميه سهمًا سمينًا (لأن -> سهم رفيع و=> يمثل ' سمين ' سهم). ويسمى أيضا أ وظيفة لامدا . تحتوي وظيفة السهم على نطاق معجمي لـ ' هذا 'الكلمة الرئيسية.

الدافع لوظيفة السهم هو:

  • عندما لا نحتاج إلى الاستمرار في وظيفة الكتابة.
  • إنه يجسد بشكل معجمي معنى هذه الكلمة الرئيسية.
  • إنه يجسد بشكل معجمي معنى الحجج.

بناء الجملة

يمكننا تقسيم بناء جملة دالة السهم إلى ثلاثة أجزاء:

    حدود:قد تحتوي الوظيفة أو لا تحتوي على معلمات.تدوين السهم/تدوين لامدا(=>)صياغات:وهو يمثل مجموعة تعليمات الوظيفة.
 (parameter1, parameter2, ..., parameterN) => expression; 

إذا استخدمنا سهم سمين (=>) التدوين، ليست هناك حاجة لاستخدام وظيفة الكلمة الرئيسية. يتم تمرير المعلمات بين قوسين ()، ويتم وضع تعبير الدالة داخل قوسين متعرجين {}.

هناك طريقتان لكتابة دالة بأسلوب الترميز ES5 وES6.

 // ES5: Without arrow function var getResult = function(username, points) { return username + ' scored ' + points + ' points!'; }; // ES6: With arrow function var getResult = (username: string, points: number): string => { return `${ username } scored ${ points } points!`; } 

وظيفة السهم مع المعلمة

البرنامج التالي هو مثال لوظيفة السهم مع المعلمات.

 let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50 

في المثال أعلاه، مجموع هي دالة سهمية،' أ: العدد، ب: العدد 'هو نوع المعلمة،' : رقم ' هو نوع الإرجاع، وتدوين السهم => يفصل بين معلمة الوظيفة ونص الوظيفة.

بعد تجميع برنامج TypeScript أعلاه، فإن كود JavaScript المقابل هو:

 let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50 

انتاج:

وظيفة سهم TypeScript

دالة السهم بدون معلمة

البرنامج التالي هو مثال لوظيفة السهم بدون معلمات.

 let Print = () => console.log('Hello JavaTpoint!'); Print(); 

انتاج:

وظيفة سهم TypeScript

في دالة السهم، إذا كان نص الدالة يتكون من عبارة واحدة فقط، فلن تكون هناك حاجة للأقواس المتعرجة والكلمة الأساسية return. يمكننا أن نفهم ذلك من المثال أدناه.

 let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15)); 

انتاج:

وظيفة سهم TypeScript

وظيفة السهم في الفصل

يمكننا تضمين وظيفة السهم كخاصية في الفصل. المثال التالي يساعد على فهم ذلك بشكل أكثر وضوحا.

 class Student { studCode: number; studName: string; constructor(code: number, name: string) { this.studName = name; this.studCode = code; } showDetail = () => console.log('Student Code: ' + this.studCode + '
Student Name: ' + this.studName) } let stud = new Student(101, 'Abhishek Mishra'); stud.showDetail(); 

انتاج:

وظيفة سهم TypeScript