Funkcia TypeScript Arrow
ES6 verzia TypeScript poskytuje funkciu šípky, ktorá je skratka syntax na definovanie anonymnej funkcie, t.j. pre funkčné výrazy. Vynecháva kľúčové slovo function. Môžeme to nazvať tučná šípka (pretože -> je tenká šípka a => je ' tuku 'šípka). Nazýva sa aj a Funkcia lambda . Funkcia šípky má lexikálny rozsah ' toto kľúčové slovo.
Motivácia pre funkciu šípky je:
- Keď nepotrebujeme držať funkciu písania.
- Lexicky vystihuje význam tohto kľúčového slova.
- Lexikálne zachytáva význam argumentov.
Syntax
Syntax funkcie Arrow môžeme rozdeliť na tri časti:
(parameter1, parameter2, ..., parameterN) => expression;
Ak použijeme tučná šípka (=>) notáciu, nie je potrebné používať funkciu kľúčové slovo. Parametre sa odovzdávajú v zátvorkách () a výraz funkcie je uzavretý v zložených zátvorkách {}.
Existujú dva spôsoby zápisu funkcie v štýle kódovania ES5 a 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!`; } Funkcia šípky s parametrom
Nasledujúci program je príkladom funkcie šípky s parametrami.
let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50 Vo vyššie uvedenom príklade súčet je funkcia šípky, a: číslo, b: číslo ' je typ parametra, ' : číslo ' je návratový typ, šípkový zápis => oddeľuje parameter funkcie a telo funkcie.
Po kompilácii vyššie uvedeného programu TypeScript je zodpovedajúci kód JavaScript:
let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50 Výkon:
Funkcia šípok bez parametra
Nasledujúci program je príkladom funkcie šípky bez parametrov.
let Print = () => console.log('Hello JavaTpoint!'); Print();
Výkon:
Ak vo funkcii šípka telo funkcie pozostáva len z jedného príkazu, potom nie sú potrebné zložené zátvorky a kľúčové slovo return. Môžeme to pochopiť z nižšie uvedeného príkladu.
let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15));
Výkon:
Funkcia šípok v triede
Funkciu šípky môžeme zahrnúť ako vlastnosť do triedy. Nasledovný príklad vám pomôže lepšie to pochopiť.
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(); Výkon: