A TypeScript ES6-os verziója egy nyíl funkciót biztosít, amely a gyorsírás szintaxis az anonim függvény meghatározásához, azaz a függvénykifejezésekhez. Kihagyja a függvény kulcsszót. Nevezhetjük kövér nyílnak (mert a -> egy vékony nyíl és a => egy ' zsír ' nyíl). Más néven a Lambda funkció . A nyíl függvény lexikális hatóköre ' ez ' kulcsszó.
A nyíl funkció motivációja a következő:
- Amikor nem kell folyamatosan gépelnünk a funkciót.
- Lexikailag megragadja ennek a kulcsszónak a jelentését.
- Lexikailag megragadja az érvek jelentését.
Szintaxis
Egy Arrow függvény szintaxisát három részre oszthatjuk:
mekkora ez a monitor
(parameter1, parameter2, ..., parameterN) => expression;
Ha használjuk a kövér nyíl (=>) jelölést, nincs szükség a funkció kulcsszó. A paraméterek zárójelben () vannak megadva, a függvénykifejezés pedig a szögletes zárójelek között ({}).
Kétféleképpen írhatunk függvényeket ES5 és ES6 kódolási stílusban.
// 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!`; }
Nyíl funkció paraméterrel
A következő program egy példa a paraméterekkel rendelkező nyíl függvényre.
let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50
A fenti példában a összeg egy nyíl függvény, a: szám, b: szám ' egy paramétertípus,' : szám ' a visszatérési típus, a => nyíl jelölés választja el a függvényparamétert és a függvény törzsét.
A fenti TypeScript program lefordítása után a megfelelő JavaScript kód:
let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50
Kimenet:
Nyíl függvény paraméter nélkül
A következő program egy példa a paraméterek nélküli nyíl függvényre.
string.formátum java string
let Print = () => console.log('Hello JavaTpoint!'); Print();
Kimenet:
fa bejárása
A nyíl függvényben, ha a függvény törzse csak egy utasításból áll, akkor nincs szükség a zárójelekre és a return kulcsszóra. Az alábbi példából megérthetjük.
let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15));
Kimenet:
Nyíl függvény egy osztályban
Az arrow függvényt tulajdonságként beépíthetjük egy osztályba. A következő példa segít ennek pontosabb megértésében.
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();
Kimenet: