logo

TypeScript pilefunktion

ES6 version af TypeScript giver en pilefunktion, som er stenografi syntaks til at definere den anonyme funktion, altså for funktionsudtryk. Den udelader funktionsnøgleordet. Vi kan kalde det fed pil (fordi -> er en tynd pil og => er en ' fed ' pil). Det kaldes også en Lambda funktion . Pilefunktionen har leksikalsk omfang af ' det her ' søgeord.

Motivationen for pilfunktionen er:

  • Når vi ikke behøver at blive ved med at skrive funktion.
  • Det fanger leksikalsk betydningen af ​​dette søgeord.
  • Det fanger leksikalsk betydningen af ​​argumenter.

Syntaks

Vi kan opdele syntaksen for en pilefunktion i tre dele:

    Parametre:En funktion kan have eller ikke have parametre.Pilenotationen/lambdanotationen(=>)Udsagn:Det repræsenterer funktionens instruktionssæt.
 (parameter1, parameter2, ..., parameterN) => expression; 

Hvis vi bruger fedtpil (=>) notation, er der ingen grund til at bruge fungere søgeord. Parametre sendes i parentes (), og funktionsudtrykket er indesluttet i de krøllede parenteser {}.

Der er to måder at skrive en funktion på i ES5- og 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!`; } 

Pilefunktion med parameter

Følgende program er et eksempel på pilefunktion med parametre.

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

I ovenstående eksempel er sum er en pilefunktion, ' a: tal, b: tal ' er en parametertype, ' : nummer ' er returtypen, pilens notation => adskiller funktionsparameteren og funktionslegemet.

Efter kompilering af ovenstående TypeScript-program er den tilsvarende JavaScript-kode:

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

Produktion:

TypeScript pilefunktion

Pilefunktion uden parameter

Følgende program er et eksempel på pilefunktion uden parametre.

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

Produktion:

sjakal vs ulv
TypeScript pilefunktion

I pilefunktionen, hvis funktionsteksten kun består af én sætning, er der ikke behov for de krøllede parenteser og nøgleordet retur. Vi kan forstå det fra nedenstående eksempel.

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

Produktion:

TypeScript pilefunktion

Pilefunktion i en klasse

Vi kan inkludere pilefunktionen som en egenskab i en klasse. Følgende eksempel hjælper med at forstå det mere klart.

 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 pilefunktion