Funkcja strzałki TypeScript
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:
(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.
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: