Funció de fletxa de TypeScript

Funció de fletxa de TypeScript

La versió ES6 de TypeScript proporciona una funció de fletxa que és la taquigrafia sintaxi per definir la funció anònima, és a dir, per a expressions de funció. Omet la paraula clau de funció. La podem anomenar fletxa grossa (perquè -> és una fletxa fina i => és un ' greix 'fletxa). També s'anomena a Funció lambda . La funció de fletxa té un àmbit lèxic de ' això ' paraula clau.

La motivació de la funció de fletxa és:

  • Quan no necessitem seguir escrivint la funció.
  • Capta lèxicament el significat d'aquesta paraula clau.
  • Capta lèxicament el significat dels arguments.

Sintaxi

Podem dividir la sintaxi d'una funció de fletxa en tres parts:

    Paràmetres: Una funció pot tenir o no paràmetres. La notació de fletxa/lambda (=>) Declaracions: Representa el conjunt d'instruccions de la funció.
 (parameter1, parameter2, ..., parameterN) => expression;  

Si fem servir el fletxa grossa (=>) notació, no cal utilitzar el funció paraula clau. Els paràmetres es passen entre claudàtors () i l'expressió de la funció s'inclou dins dels claudàtors {}.

Hi ha dues maneres d'escriure una funció a l'estil de codificació ES5 i 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!`; }  

Funció de fletxa amb paràmetre

El programa següent és un exemple de funció de fletxa amb paràmetres.

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

En l'exemple anterior, el suma és una funció de fletxa, ' a: nombre, b: nombre ' és un tipus de paràmetre,' : nombre ' és el tipus de retorn, la notació de fletxa => separa el paràmetre de la funció i el cos de la funció.

Després de compilar el programa TypeScript anterior, el codi JavaScript corresponent és:

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

Sortida:

Funció de fletxa de TypeScript

Funció de fletxa sense paràmetre

El programa següent és un exemple de funció de fletxa sense paràmetres.

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

Sortida:

Funció de fletxa de TypeScript

A la funció de fletxa, si el cos de la funció només consta d'una instrucció, no calen els claudàtors ni la paraula clau de retorn. Ho podem entendre a partir de l'exemple següent.

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

Sortida:

Funció de fletxa de TypeScript

Funció de fletxa en una classe

Podem incloure la funció de fletxa com a propietat en una classe. L'exemple següent ajuda a entendre-ho més clarament.

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

Sortida:

Funció de fletxa de TypeScript