TypeScriptin ES6-versio tarjoaa nuolitoiminnon, joka on pikakirjoitus syntaksi anonyymin funktion määrittämiseksi, eli funktiolausekkeille. Se jättää pois funktion avainsanan. Voimme kutsua sitä rasvanuoleksi (koska -> on ohut nuoli ja => on ' rasvaa ' nuoli). Sitä kutsutaan myös a Lambda toiminto . Nuolifunktiolla on leksikaalinen laajuus ' Tämä ' avainsana.
Motiivi nuolitoiminnolle on:
- Kun meidän ei tarvitse jatkaa kirjoitustoimintoa.
- Se kuvaa sanallisesti tämän avainsanan merkityksen.
- Se vangitsee leksisesti argumenttien merkityksen.
Syntaksi
Voimme jakaa Nuoli-funktion syntaksin kolmeen osaan:
(parameter1, parameter2, ..., parameterN) => expression;
Jos käytämme lihava nuoli (=>) merkintää, ei ole tarvetta käyttää toiminto avainsana. Parametrit välitetään hakasulkeissa (), ja funktiolauseke on suljettu hakasulkeiden {} sisällä.
nukkainen loki
On kaksi tapaa kirjoittaa funktio ES5- ja ES6-koodaustyyleissä.
// 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!`; }
Nuolitoiminto parametrin kanssa
Seuraava ohjelma on esimerkki nuolifunktiosta parametreineen.
let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50
Yllä olevassa esimerkissä summa on nuolifunktio, ' a: numero, b: numero ' on parametrityyppi, ' : numero ' on palautustyyppi, nuoli => erottaa funktioparametrin ja funktion rungon.
Yllä olevan TypeScript-ohjelman kääntämisen jälkeen vastaava JavaScript-koodi on:
let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50
Lähtö:
Nuolitoiminto ilman parametria
Seuraava ohjelma on esimerkki nuolifunktiosta ilman parametreja.
karttakonekirjoitus
let Print = () => console.log('Hello JavaTpoint!'); Print();
Lähtö:
Jos nuolifunktiossa funktion runko koostuu vain yhdestä lauseesta, niin kiharasulkuja ja return-avainsanaa ei tarvita. Voimme ymmärtää sen alla olevasta esimerkistä.
let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15));
Lähtö:
Nuolifunktio luokassa
Voimme sisällyttää nuolifunktion ominaisuutena luokkaan. Seuraava esimerkki auttaa ymmärtämään sen selkeämmin.
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();
Lähtö: