Javascript 5 | Functions 2

Ömer Çelik
2 min readDec 1, 2019

--

İlk bölümde function’ları ve function’ların içerisinde tanımlanan değer ve function’ları tanımaya çalışmıştık. Functions 1 makalesini okumanızı tavsiye ederim.

Bu makale’de ise function’larda default value, function expression-declaration, anonymous function’lar hakkında kısa bir bilgi vermeye çalışacağım.

Function Default Value

Fonksiyonların parametrelerine default değerler verilebilir. Eğer fonksiyon çağrılırken parametresine değer geçilmezse daha önce verdiğimiz default değerini alır. Ayrıca bir fonksiyon değer return etmezse undefined değer return etmekle ayni iş yapılmış olur.

Örn :

Çıktı:
returnNameAndSurname(“Omer”, “Celik”)
Omer — Celik
returnNameAndSurname(“Omer”)
Omer — Soyadi Yok
returnNameAndSurname()
Adi Yok — Soyadi Yok
returnNameAndSurname(undefined,undefined)
Adi Yok — Soyadi Yok

NOT : Bir fonksiyonun sonuna noktalı virgül koyulmazken, bir değişkene fonksiyon ataması yapıldığında noktalı virgül kullanmak gerekir. Kod bloklarının(if, for, else) sonunda noktalı virgül(;) gerek yoktur.
Ancak let deneme dediğimizde bu bir variabledir. Variable’ımızın karşısına bir function bile atasak bu bir variabledır ve kod bloğu değildir.
variable’a değer ne atanırsa atansın noktalı virgül(;) koyulması tavsiye edilir. Bu variable bir function bile olsa koymaliyiz. Bu durum function ile alakalı değil variable ile ilgilidir. Variable tanimlamasinin sonunu göstermek için noktalı virgül koyarız.

Function Expression — Function Declaration

Bakıldığında tanımlama(syntax) olarak farklılıkları gözükse de çok ufak bir farklılıkları vardır. Javascript run edilmeden ilk önce function declaration’larina bakar ve onları oluşturur. Bu yüzden kod olarak oraya gelmeden önce bile o fonksiyonları çağırabiliriz. Ancak function expression kullanırsak bu kod her yerden rahatlıkla çalıştırılamayabilir. Dikkat edilmelidir.

Function Declaration

Function Expression

Anonymous(Anonim) Fonksiyonlar

Genel olarak syntaxi bu şekildedir. React’de, jquery’de pek çok kullanım yeri vardır. Kullanıldığı yerde çağrılan bir fonksiyondur. Eğer farklı farklı yerlerde çağırmayacaksak sadece o yerde kullanıp çağıracaksak kullanılması tavsiye edilir. Çünkü hafızayı boştan yere kirletmez.

Arrow Functions

es6 ile birlikte gelmiştir. Daha kısa bir şekilde kod yazabilmemize olanak sağlar.

Eğer arrow function’a sadece tek bir tane parametre yollayacaksak parantezler içerisine almamıza gerek yok. Bu durum sadece tek parametreyse geçerlidir. Hiç parametre vermesek yada birden fazla parametre versek geçerli bir durum değildir.

Hatta fonksiyonun içerisi tek satır ise süslü parantezlere bile gerek yoktur.

Ayrıca fonksiyonumuz tek bir satır ise ve sadece return işlemi yapıyorsa return ve süslü parantez yazmamıza bile gerek yoktur.

Makalelerimin tamamına erişmek isteyen arkadaşlar için hepsinin linkinin bulunduğu bir tutorial hazırladım. Aşağıdaki linkte paylaşıyorum.

https://medium.com/@omercelikceng/javascript-makalelerimin-tamam%C4%B1-45a71ac3b386

--

--