TypeScript Arrow funkcija
ES6 verzija TypeScripta pruža funkciju strelice koja je stenografija sintaksa za definiranje anonimne funkcije, tj. za funkcijske izraze. Izostavlja ključnu riječ funkcije. Možemo je nazvati debelom strelicom (jer -> je tanka strelica i => je ' mast ' strijela). Također se naziva a Lambda funkcija . Funkcija strelice ima leksički opseg od ' ovaj ' ključna riječ.
Motivacija za funkciju strelice je:
- Funkcija kada ne trebamo nastaviti tipkati.
- Leksički pokriva značenje ove ključne riječi.
- Leksički hvata značenje argumenata.
Sintaksa
Sintaksu funkcije Arrow možemo podijeliti na tri dijela:
(parameter1, parameter2, ..., parameterN) => expression;
Ako koristimo debela strelica (=>) notaciju, nema potrebe za korištenjem funkcija ključna riječ. Parametri se prosljeđuju u zagradama (), a izraz funkcije nalazi se unutar vitičastih zagrada {}.
Postoje dva načina pisanja funkcije u ES5 i ES6 stilu kodiranja.
// 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!`; } Funkcija strelice s parametrom
Sljedeći program primjer je funkcije strelice s parametrima.
let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50 U gornjem primjeru, iznos je funkcija strelice, ' a: broj, b: broj 'je tip parametra,' : broj ' je vrsta povrata, oznaka strelice => odvaja parametar funkcije i tijelo funkcije.
Nakon kompajliranja gornjeg TypeScript programa, odgovarajući JavaScript kod je:
let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50 Izlaz:
Funkcija strelice bez parametra
Sljedeći program primjer je funkcije strelice bez parametara.
let Print = () => console.log('Hello JavaTpoint!'); Print();
Izlaz:
U funkciji strelice, ako se tijelo funkcije sastoji od samo jedne izjave, tada nema potrebe za vitičastim zagradama i ključnom riječi return. To možemo razumjeti iz donjeg primjera.
let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15));
Izlaz:
Funkcija strelice u klasi
Funkciju strelice možemo uključiti kao svojstvo u klasi. Sljedeći primjer pomaže da se to jasnije razumije.
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(); Izlaz: