logo

TypeScript pilfunktion

ES6-versionen av TypeScript tillhandahåller en pilfunktion som är stenografi syntax för att definiera den anonyma funktionen, d.v.s. för funktionsuttryck. Den utelämnar funktionsnyckelordet. Vi kan kalla det fet pil (eftersom -> är en tunn pil och => är en ' fett ' pil). Det kallas också a Lambdafunktion . Pilfunktionen har lexikal omfattning av ' detta ' nyckelord.

Motivationen för pilfunktionen är:

  • När vi inte behöver fortsätta skriva funktionen.
  • Det fångar lexikalt innebörden av detta nyckelord.
  • Den fångar lexikalt innebörden av argument.

Syntax

Vi kan dela upp syntaxen för en pilfunktion i tre delar:

    Parametrar:En funktion kan ha parametrar eller inte.Pilnotationen/lambdanotationen(=>)Uttalanden:Den representerar funktionens instruktionsuppsättning.
 (parameter1, parameter2, ..., parameterN) => expression; 

Om vi ​​använder fettpil (=>) notation, det finns inget behov av att använda fungera nyckelord. Parametrar skickas inom hakparenteser (), och funktionsuttrycket omges av parenteser {}.

Det finns två sätt att skriva en funktion i ES5- och ES6-kodningsstil.

 // 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!`; } 

Pilfunktion med parameter

Följande program är ett exempel på pilfunktion med parametrar.

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

I exemplet ovan är belopp är en pilfunktion, ' a: nummer, b: nummer ' är en parametertyp, ' : siffra ' är returtypen, pilnotationen => separerar funktionsparametern och funktionskroppen.

Efter att ha kompilerat ovanstående TypeScript-program är motsvarande JavaScript-kod:

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

Produktion:

TypeScript pilfunktion

Pilfunktion utan parameter

Följande program är ett exempel på pilfunktion utan parametrar.

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

Produktion:

TypeScript pilfunktion

I pilfunktionen, om funktionskroppen endast består av en sats, så behövs inte hakparenteserna och nyckelordet retur. Vi kan förstå det från exemplet nedan.

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

Produktion:

TypeScript pilfunktion

Pilfunktion i en klass

Vi kan inkludera pilfunktionen som en egenskap i en klass. Följande exempel hjälper till att förstå det tydligare.

 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(); 

Produktion:

TypeScript pilfunktion