Wersja TypeScriptu na ES6 udostępnia funkcję strzałki, która jest stenografia składnia służąca do definiowania funkcji anonimowej, tj. wyrażeń funkcyjnych. Pomija słowo kluczowe Function. Możemy to nazwać grubą strzałką (ponieważ -> jest cienką strzałką, a => jest ' tłuszcz „strzałka”). Nazywa się to również A Funkcja Lambdy . Funkcja strzałkowa ma zakres leksykalny „ Ten słowo kluczowe.
Motywacją funkcji strzałki jest:
- Kiedy nie musimy ciągle pisać, funkcja.
- Leksykalnie oddaje znaczenie tego słowa kluczowego.
- Leksykalnie oddaje znaczenie argumentów.
Składnia
Składnię funkcji Arrow możemy podzielić na trzy części:
metoda podciągu Java
(parameter1, parameter2, ..., parameterN) => expression;
Jeżeli skorzystamy z gruba strzała (=>) notacji, nie ma potrzeby używania funkcjonować słowo kluczowe. Parametry są przekazywane w nawiasach kwadratowych (), a wyrażenie funkcji jest ujęte w nawiasy klamrowe {}.
Istnieją dwa sposoby pisania funkcji w stylu kodowania 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!`; }
Funkcja strzałkowa z parametrem
Poniższy program jest przykładem funkcji strzałkowej z parametrami.
let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50
W powyższym przykładzie suma jest funkcją strzałkową, ' a: liczba, b: liczba ' jest typem parametru, ' : numer ' jest typem zwracanym, znak strzałki => oddziela parametr funkcji od treści funkcji.
Po skompilowaniu powyższego programu TypeScript odpowiadający mu kod JavaScript to:
let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50
Wyjście:
Funkcja strzałkowa bez parametru
Poniższy program jest przykładem funkcji strzałkowej bez parametrów.
let Print = () => console.log('Hello JavaTpoint!'); Print();
Wyjście:
W funkcji strzałkowej, jeśli treść funkcji składa się tylko z jednej instrukcji, wówczas nawiasy klamrowe i słowo kluczowe return nie są potrzebne. Możemy to zrozumieć na podstawie poniższego przykładu.
bash, jeśli jeszcze
let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15));
Wyjście:
Funkcja strzałkowa w klasie
Możemy włączyć funkcję strzałki jako właściwość w klasie. Poniższy przykład pomoże to lepiej zrozumieć.
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();
Wyjście: