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.
string java niz
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:
promjena velikih i malih slova java
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: