„TypeScript“ ES6 versijoje yra rodyklės funkcija, kuri yra stenograma sintaksė, skirta anoniminei funkcijai apibrėžti, ty funkcijų išraiškoms. Praleidžia funkcijos raktinį žodį. Galime tai vadinti stora rodykle (nes -> yra plona rodyklė ir => yra ' riebalų ' rodyklė). Jis taip pat vadinamas a Lambda funkcija . Rodyklės funkcijos leksinė apimtis yra ' tai ' raktinį žodį.
int eilutė
Rodyklės funkcijos motyvacija yra tokia:
- Kai mums nereikia nuolat vesti teksto funkcijos.
- Jis leksiškai atspindi šio raktinio žodžio reikšmę.
- Jis leksiškai fiksuoja argumentų prasmę.
Sintaksė
Rodyklės funkcijos sintaksę galime padalyti į tris dalis:
(parameter1, parameter2, ..., parameterN) => expression;
Jei naudosime stora rodyklė (=>) žymėjimo, nereikia naudoti funkcija raktažodį. Parametrai perduodami skliausteliuose (), o funkcijos išraiška įterpiama į riestinius skliaustus {}.
Yra du būdai parašyti funkciją ES5 ir ES6 kodavimo stiliumi.
// 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!`; }
Rodyklės funkcija su parametru
Toliau pateikta programa yra rodyklės funkcijos su parametrais pavyzdys.
let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50
Aukščiau pateiktame pavyzdyje suma yra rodyklės funkcija, a: skaičius, b: skaičius „yra parametro tipas“, : numeris ' yra grąžinimo tipas, rodyklė => atskiria funkcijos parametrą ir funkcijos pagrindą.
Sukūrus aukščiau pateiktą TypeScript programą, atitinkamas JavaScript kodas yra:
let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50
Išvestis:
Rodyklės funkcija be parametro
Toliau pateikta programa yra rodyklės funkcijos be parametrų pavyzdys.
let Print = () => console.log('Hello JavaTpoint!'); Print();
Išvestis:
Rodyklės funkcijoje, jei funkcijos kūną sudaro tik vienas sakinys, tada nereikia lenktų skliaustų ir grąžinimo raktinio žodžio. Tai galime suprasti iš žemiau pateikto pavyzdžio.
let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15));
Išvestis:
Rodyklės funkcija klasėje
Rodyklės funkciją galime įtraukti kaip ypatybę klasėje. Toliau pateiktas pavyzdys padeda tai aiškiau suprasti.
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();
Išvestis: