Onur Dayıbaşı

CV
none

Arrow Function Nedir ?

Arrow fonksiyon dediğimiz fonksiyon kodlarımızı daha matematiksel bir dille yazmak diyebiliriz.

1sum=(a,b)=>a+b;

Aşağıda normal fonksiyonların arrow fonksiyonlar ile nasıl tanımlandığını anlatınca artık matematik fonksiyonu yazdığınızı düşüneceksiniz. Bu yazım şeklinin sizin hem kod yazmanızı kolaylaştırdığını hemde kod okunurluğunu arttırdığını farkedeceksiniz.

Farklı Arrow fonksiyon tanımlamalarına bakacak olursak aşağıdakilere örnek olarak verebilirim.

  • Hiç parametre almayan sabit fonksiyon
  • Parametre alıp cevabını dönen pure fonksiyon
  • Tek parametresi olduğu için parametre kapsülü() olmayan tanımlama
  • vb…
1pi=()=>Math.PI; console.log(pi());
2sum=(a,b)=> return a+b; console.log(sum(2,7));
3square=x=>x*x; console.log(square(9))
4f=(x)=>{const y=x+3; return (g=(t)=>t*(t+5))(y)}; console.log(f(2));

Peki kodu nasıl daha okunabilir hale getiriyor. Yukarıdaki Higher Order Fonksiyondan verirsek. Normal şekilde yazılan bir fonksiyon aşağıdaki gibi yazılırken

1function makeAdder(x){
2 return function add(y){
3 return x+y;
4 }
5}
6const tenAdder=makeAdder(10);
7console.log(tenAdder(12)); //22

Arrow Function yazılan aynı kodun ne kadar basit bir şekilde yazıldığını görebilirsiniz. İşte bu ES6 Arrow fonksiyonun gücü diyebiliriz.

1makeAdder = (x) => (y) => x + y
2const tenAdder = makeAdder(10);
3console.log(tenAdder(12));

Referanslar