Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.
0

JavaScript Fonksiyonları: Arrow (ok) Fonksiyonları

Arrow fonksiyonları, C#'daki lambda ifadelerine benzer.

Bu yöntemle isimsiz fonksiyon ifadelerini kısa bir yolla tanımlayabiliriz.

Örnek:
var toplama = (x, y) => x + y;

console.log(toplama(3, 5));

Çıktısı:

8

Yukarıdaki örnek şununla aynıdır.

var toplama = function(x, y) {
    return x + y;
};

console.log(toplama(3, 5));

Görüldüğü gibi fonksiyon ifadesi daha kısa bir yöntemle tanımlanmıştır.

Örnektesi (x, y), fonksiyonun parametrelerini bildirir. => şeklinde yazılan ok ise fonksiyon gövdesini işaret eder. Oktan sonraki x + y, fonksiyonun döndüreceği değeri belirtir. Burada return ifadesi yoktur.

Eğer tek bir parametre varsa parametre kısmında parantez kullanmaya gerek yoktur.

Örnek:
var kare = x => x * x;

console.log(kare(5));
Çıktısı:

25

Hiç parametre yoksa parantez açıp kapatmak zorunludur.

Bu örnek, hemen çalıştırılan bir fonksiyonu ok fonksiyonu olarak tanımlamaktadır.

(() => console.log("Başladı"))();

Parametresiz ok fonksiyonları zamanlayıcılarda da kullanılabilir.

Eğer fonksiyon gövdesi birden fazla ifadeden oluşuyorsa süslü parantezler ile normal fonksiyon gibi blok yapılması zorunludur. Tabi artık normal bir fonksiyon gövdesine sahip olduğundan değer döndürmek için return ifadesi kullanılmalıdır.

var deneme = x => {
	if (x > 10)
		return 10;
	return x;
};

console.log(deneme(11));
console.log(deneme(5));

Çıktısı:

10
5

Ok fonksiyonları ile bir nesne döndürmek isterseniz nesneyi parantez içine alın.

Örnek:
var deneme = x => ({x: x});

console.log(deneme(5).x);

console.log(deneme(5).toSource());
Çıktısı:

5
({x:5})

Ok fonksiyonları, parametre olarak fonksiyon alan fonksiyonlarda kısa bir kullanım sunar ve tercih edilir.

Bu örnek, Array.sort yönteminin özel sıralama yapabilmek için kullanılan parametre olarak sıralama fonksiyonu geçilen şeklini kullanmakta ve diziyi tersine (büyükten küçüğe) sıralamaktadır. Sıralama fonksiyonu olarak bir ok fonksiyonu gönderilmektedir.

var dizi = [3, 7, 2, 5, 6, 1, 4];

console.log(dizi.sort((a, b) => b - a));

Çıktısı:

[7, 6, 5, 4, 3, 2, 1]


Ok fonksiyonları içinde this, arguments, super desteklenmez ve constructor (yapılandırcı fonksiyon) olarak kullanılamazlar.


JavaScript Fonksiyonları ile İlgili Makaleler: