TypeScript'in ES6 sürümü bir ok işlevi sağlar. kısa gösterim anonim işlevi tanımlamak için sözdizimi, yani işlev ifadeleri için. Function anahtar sözcüğünü atlar. Buna şişman ok diyebiliriz (çünkü -> ince bir ok ve => bir ' yağ ' ok). Aynı zamanda denir Lambda işlevi . Ok işlevi '' sözcüksel kapsamına sahiptir Bu ' anahtar kelime.
Ok fonksiyonunun motivasyonu:
- Yazmaya devam etmemiz gerekmediğinde.
- Bu anahtar kelimenin anlamını sözcüksel olarak yakalar.
- Argümanların anlamını sözlüksel olarak yakalar.
Sözdizimi
Bir Ok fonksiyonunun sözdizimini üç bölüme ayırabiliriz:
(parameter1, parameter2, ..., parameterN) => expression;
Eğer kullanırsak şişman ok (=>) notasyonu kullanmaya gerek yoktur. işlev anahtar kelime. Parametreler parantez () içine aktarılır ve işlev ifadesi süslü parantezlerin {} içine alınır.
ES5 ve ES6 tarzı kodlamada fonksiyon yazmanın iki yolu vardır.
// 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!`; }
Parametreli ok fonksiyonu
Aşağıdaki program parametrelerle ok fonksiyonunun bir örneğidir.
sql birleşimi
let sum = (a: number, b: number): number => { return a + b; } console.log(sum(20, 30)); //returns 50
Yukarıdaki örnekte, toplam bir ok fonksiyonudur, ' a: sayı, b: sayı ' bir parametre türüdür, ' : sayı ' dönüş türüdür, ok gösterimi => işlev parametresini ve işlev gövdesini ayırır.
Yukarıdaki TypeScript programını derledikten sonra karşılık gelen JavaScript kodu şöyledir:
let sum = (a, b) => { return a + b; }; console.log(sum(20, 30)); //returns 50
Çıktı:
Parametresiz ok işlevi
Aşağıdaki program parametresiz bir ok fonksiyonu örneğidir.
let Print = () => console.log('Hello JavaTpoint!'); Print();
Çıktı:
Ok işlevinde, işlev gövdesi yalnızca bir ifadeden oluşuyorsa küme parantezlerine ve return anahtar sözcüğüne gerek yoktur. Aşağıdaki örnekten bunu anlayabiliriz.
let sum = (a: number, b: number) => a + b; console.log('SUM: ' +sum(5, 15));
Çıktı:
Bir sınıfta ok işlevi
Ok fonksiyonunu bir sınıfa özellik olarak dahil edebiliriz. Aşağıdaki örnek konuyu daha net anlamanıza yardımcı olacaktır.
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();
Çıktı: