JavaScript, işlevselliği ve modülerliği artırmak için kullanılan güçlü bir programlama dilidir. Fonksiyonlar, JavaScript programlamasında temel yapı taşlarından biridir ve farklı türlerde fonksiyonlar, çeşitli senaryolara uygun çözümler sunar. Bu makalede, JavaScript'teki farklı fonksiyon türlerini ve nasıl kullanıldıklarını inceleyeceğiz.
Fonksiyon bildirimi, bir fonksiyonu tanımlamanın en yaygın yoludur. Bu tür fonksiyonlar, function
anahtar kelimesi ile tanımlanır ve hoisting (yükselme) ile fonksiyonun tanımlandığı yerden önce de çağrılabilir.
Örnek:
function topla(a, b) {
return a + b;
}
console.log(topla(5, 3)); // 8
Fonksiyon ifadesi, bir fonksiyonu bir değişkene atamanın bir yoludur. Bu tür fonksiyonlar, tanımlandıktan sonra çağrılabilir ve genellikle anonim fonksiyonlar (adı olmayan fonksiyonlar) kullanılır.
Örnek:
let carp = function(a, b) {
return a * b;
};
console.log(carp(4, 5)); // 20
Anonim fonksiyonlar, adı olmayan fonksiyonlardır. Genellikle fonksiyon ifadelerinde veya yüksek mertebe fonksiyonlarda kullanılır.
Örnek:
let selamla = function() {
console.log("Selam!");
};
selamla(); // Selam!
ES6 ile tanıtılan ok fonksiyonları, daha kısa bir sözdizimi sağlar ve this
anahtar kelimesinin bağlamını (context) korur. Ok fonksiyonları, =>
sembolü ile tanımlanır.
Örnek:
let cikarma = (a, b) => a - b;
console.log(cikarma(10, 3)); // 7
Yüksek mertebe fonksiyonlar, başka fonksiyonları argüman olarak alabilen veya başka fonksiyonları döndürebilen fonksiyonlardır. Bu tür fonksiyonlar, fonksiyonel programlamada yaygın olarak kullanılır.
Örnek:
function islemler(islem, a, b) {
return islem(a, b);
}
function bol(a, b) {
return a / b;
}
console.log(islemler(bol, 10, 2)); // 5
Geri çağırma fonksiyonları, başka bir fonksiyona argüman olarak geçirilen ve belirli bir olay gerçekleştiğinde veya belirli bir işlem tamamlandığında çağrılan fonksiyonlardır.
Örnek:
function uzunIslem(callback) {
console.log("Uzun işlem başladı...");
setTimeout(callback, 3000); // 3 saniye sonra geri çağırma fonksiyonunu çağır
}
function islemTamamlandi() {
console.log("İşlem tamamlandı!");
}
uzunIslem(islemTamamlandi);
// Uzun işlem başladı...
// 3 saniye sonra: İşlem tamamlandı!
Kendiliğinden çağrılan fonksiyon ifadeleri, tanımlandıktan hemen sonra çalıştırılan fonksiyonlardır. Bu tür fonksiyonlar, genellikle tek seferlik işlemler ve kapsam (scope) oluşturmak için kullanılır.
Örnek:
(function() {
console.log("Bu fonksiyon hemen çalıştı!");
})();
// Bu fonksiyon hemen çalıştı!
JavaScript'te fonksiyonlar, kendi yerel değişkenlerine ve üst kapsamlarındaki değişkenlere erişebilir. Kapanışlar, bir fonksiyonun, tanımlandığı kapsamın dışında çağrıldığında bile bu yerel değişkenlere erişmesini sağlar.
Örnek:
function sayac() {
let sayi = 0;
return function() {
sayi++;
console.log(sayi);
};
}
let sayaciArtir = sayac();
sayaciArtir(); // 1
sayaciArtir(); // 2
Fonksiyonlar, JavaScript'te kodunuzu modüler, okunabilir ve yeniden kullanılabilir hale getirmenin güçlü bir yoludur. Farklı fonksiyon türlerini kullanarak, belirli işlemleri gerçekleştirebilir ve bu işlemleri gerektiğinde tekrar kullanabilirsiniz. Bu makalede öğrendiklerinizi kullanarak, kendi JavaScript programlarınızda fonksiyonlarla etkili bir şekilde çalışabilirsiniz. İyi kodlamalar!