Die ES6-Version von TypeScript bietet eine Pfeilfunktion Kurzschrift Syntax zur Definition der anonymen Funktion, also für Funktionsausdrücke. Das Funktionsschlüsselwort wird weggelassen. Wir können es fetten Pfeil nennen (weil -> ein dünner Pfeil und => ein ' fett ' Pfeil). Es wird auch a genannt Lambda-Funktion . Die Pfeilfunktion hat den lexikalischen Gültigkeitsbereich von ' Das ' Stichwort.
Die Motivation für die Pfeilfunktion ist:
- Wenn wir die Funktion nicht ständig eingeben müssen.
- Es erfasst lexikalisch die Bedeutung dieses Schlüsselworts.
- Es erfasst lexikalisch die Bedeutung von Argumenten.
Syntax
Wir können die Syntax einer Pfeilfunktion in drei Teile aufteilen:
Hashmap
(parameter1, parameter2, ..., parameterN) => expression;
Wenn wir das verwenden dicker Pfeil (=>) Notation ist es nicht erforderlich, die zu verwenden Funktion Stichwort. Parameter werden in den Klammern () übergeben und der Funktionsausdruck wird in die geschweiften Klammern {} eingeschlossen.
Es gibt zwei Möglichkeiten, eine Funktion im ES5- und ES6-Codierungsstil zu schreiben.
// 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!`; }
Pfeilfunktion mit Parameter
Das folgende Programm ist ein Beispiel für eine Pfeilfunktion mit Parametern.
let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50
Im obigen Beispiel ist die Summe ist eine Pfeilfunktion, ' a: Zahl, b: Zahl ' ist ein Parametertyp, ' : Nummer ' ist der Rückgabetyp, die Pfeilnotation => trennt den Funktionsparameter und den Funktionskörper.
Nach dem Kompilieren des obigen TypeScript-Programms lautet der entsprechende JavaScript-Code:
let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50
Ausgabe:
Pfeilfunktion ohne Parameter
Das folgende Programm ist ein Beispiel für eine Pfeilfunktion ohne Parameter.
string a int
let Print = () => console.log('Hello JavaTpoint!'); Print();
Ausgabe:
Aufteilen von Zeichenfolgen in C++
Wenn in der Pfeilfunktion der Funktionskörper nur aus einer Anweisung besteht, sind die geschweiften Klammern und das Schlüsselwort return nicht erforderlich. Wir können es anhand des folgenden Beispiels verstehen.
let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15));
Ausgabe:
Pfeilfunktion in einer Klasse
Wir können die Pfeilfunktion als Eigenschaft in eine Klasse einbinden. Das folgende Beispiel hilft, es besser zu verstehen.
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();
Ausgabe: