Funkcija puščice TypeScript
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.
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:
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: