Različica ES6 TypeScript ponuja funkcijo puščice, ki je stenografija sintakso za definiranje anonimne funkcije, tj. za funkcijske izraze. Izpušča ključno besedo funkcije. Lahko ji rečemo debela puščica (ker je -> tanka puščica in => ' maščoba ' puščica). Imenuje se tudi a Lambda funkcija . Puščična funkcija ima leksikalni obseg ' to ' ključna beseda.
krožni razpored
Motivacija za funkcijo puščice je:
- Ko nam ni treba nadaljevati s funkcijo tipkanja.
- Leksikalno zajema pomen te ključne besede.
- Leksikalno zajame pomen argumentov.
Sintaksa
Sintakso funkcije Arrow lahko razdelimo na tri dele:
(parameter1, parameter2, ..., parameterN) => expression;
Če uporabljamo debela puščica (=>) zapis, ni potrebe po uporabi funkcijo ključna beseda. Parametri so posredovani v oklepajih (), izraz funkcije pa je zaprt v zavitih oklepajih {}.
Obstajata dva načina pisanja funkcije v slogu kodiranja ES5 in 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!`; }
Puščična funkcija s parametrom
Naslednji program je primer puščične funkcije s parametri.
let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50
V zgornjem primeru je vsota je puščična funkcija, ' a: številka, b: številka ' je vrsta parametra, ' : številka ' je povratni tip, zapis s puščico => ločuje funkcijski parameter in telo funkcije.
Po prevajanju zgornjega programa TypeScript je ustrezna koda JavaScript:
let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50
Izhod:
kdaj je bil izumljen prvi računalnik
Puščična funkcija brez parametra
Naslednji program je primer puščične funkcije brez parametrov.
let Print = () => console.log('Hello JavaTpoint!'); Print();
Izhod:
V puščični funkciji, če je telo funkcije sestavljeno samo iz enega stavka, potem ni potrebe po zavitih oklepajih in ključni besedi return. To lahko razumemo iz spodnjega primera.
let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15));
Izhod:
Puščična funkcija v razredu
Puščično funkcijo lahko vključimo kot lastnost v razred. Naslednji primer pomaga, da ga bolj jasno razumemo.
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();
Izhod: