JavaScript Fonksiyonlar
JavaScript’te fonksiyonlar, belirli bir görevi yerine getirmek için kullanılan kod bloklarıdır. Fonksiyonlar, kodun yeniden kullanılabilirliğini artırır, okunabilirliği iyileştirir ve karmaşık işlemleri daha küçük parçalara böler. Bu makalede, JavaScript fonksiyonlarını ve örneklerini inceleyeceğiz.
1. Fonksiyon Nedir?
Fonksiyon, bir veya daha fazla işlemi gerçekleştiren ve bir değer döndüren (isteğe bağlı) kod bloklarıdır. Fonksiyonlar, function
anahtar kelimesiyle tanımlanır.
Temel Fonksiyon Yapısı:
function fonksiyonAdi(parametre1, parametre2) {
// Yapılacak işlemler
return sonuc; // İsteğe bağlı
}
2. Fonksiyon Türleri
JavaScript’te fonksiyonlar farklı şekillerde tanımlanabilir:
a) Fonksiyon Deklarasyonu (Function Declaration)
Fonksiyon, function
anahtar kelimesiyle tanımlanır ve bir isme sahiptir.
Örnek:
function greet(name) {
return "Merhaba, " + name + "!";
}
console.log(greet("Ali")); // Çıktı: Merhaba, Ali!
b) Fonksiyon İfadesi (Function Expression)
Fonksiyon, bir değişkene atanır. Bu tür fonksiyonlar genellikle isimsizdir (anonim fonksiyon).
Örnek:
const greet = function(name) {
return "Merhaba, " + name + "!";
};
console.log(greet("Ayşe")); // Çıktı: Merhaba, Ayşe!
c) Ok Fonksiyonları (Arrow Functions)
ES6 ile gelen ok fonksiyonları, daha kısa bir sözdizimi sunar. Özellikle tek satırlık fonksiyonlar için idealdir.
Örnek:
const greet = (name) => "Merhaba, " + name + "!";
console.log(greet("Mehmet")); // Çıktı: Merhaba, Mehmet!
3. Fonksiyon Parametreleri ve Argümanlar
Fonksiyonlar, parametreler alabilir ve bu parametrelere argümanlar gönderilebilir. Parametreler, fonksiyonun içinde kullanılan değişkenlerdir.
Örnek:
function sum(a, b) {
return a + b;
}
console.log(sum(5, 10)); // Çıktı: 15
a) Varsayılan Parametreler
ES6 ile birlikte, fonksiyon parametrelerine varsayılan değerler atanabilir.
Örnek:
function greet(name = "Misafir") {
return "Merhaba, " + name + "!";
}
console.log(greet()); // Çıktı: Merhaba, Misafir!
console.log(greet("Ali")); // Çıktı: Merhaba, Ali!
b) Rest Parametreler
Rest parametreleri, fonksiyona sınırsız sayıda argüman göndermek için kullanılır.
Örnek:
function sum(...numbers) {
return numbers.reduce((total, num) => total + num, 0);
}
console.log(sum(1, 2, 3, 4)); // Çıktı: 10
4. Fonksiyonlarda return
İfadesi
Fonksiyonlar, bir değer döndürmek için return
ifadesini kullanır. return
ifadesi, fonksiyonun çalışmasını sonlandırır ve belirtilen değeri döndürür.
Örnek:
function multiply(a, b) {
return a * b;
}
let result = multiply(5, 3);
console.log(result); // Çıktı: 15
Not: Eğer bir fonksiyon return
ifadesi içermiyorsa, undefined
döner.
5. Anonim Fonksiyonlar
Anonim fonksiyonlar, isimleri olmayan fonksiyonlardır. Genellikle başka bir fonksiyona parametre olarak geçirilir veya bir değişkene atanır.
Örnek:
const greet = function(name) {
return "Merhaba, " + name + "!";
};
console.log(greet("Ali")); // Çıktı: Merhaba, Ali!
6. İç İçe Fonksiyonlar (Nested Functions)
JavaScript’te bir fonksiyonun içinde başka bir fonksiyon tanımlanabilir. Bu tür fonksiyonlara iç içe fonksiyonlar denir.
Örnek:
function outer() {
function inner() {
return "İç fonksiyon çalıştı!";
}
return inner();
}
console.log(outer()); // Çıktı: İç fonksiyon çalıştı!
7. Callback Fonksiyonlar
Callback fonksiyonlar, başka bir fonksiyona parametre olarak geçirilen ve daha sonra çağrılan fonksiyonlardır. Callback’ler, asenkron işlemlerde yaygın olarak kullanılır.
Örnek:
function greet(name, callback) {
console.log("Merhaba, " + name + "!");
callback();
}
function sayGoodbye() {
console.log("Görüşmek üzere!");
}
greet("Ali", sayGoodbye);
// Çıktı:
// Merhaba, Ali!
// Görüşmek üzere!
8. Fonksiyon Kapsamı (Scope)
Fonksiyonlar, kendi kapsamlarını (scope) oluşturur. Bir fonksiyon içinde tanımlanan değişkenler, yalnızca o fonksiyon içinde erişilebilir.
Örnek:
function myFunction() {
let x = 10; // x, yalnızca myFunction içinde erişilebilir
console.log(x);
}
myFunction(); // Çıktı: 10
// console.log(x); // Hata: x tanımlı değil
9. Fonksiyonların Avantajları
- Yeniden Kullanılabilirlik: Fonksiyonlar, kodun tekrar kullanılmasını sağlar.
- Modülerlik: Büyük programlar, küçük fonksiyonlara bölünerek daha yönetilebilir hale gelir.
- Okunabilirlik: Fonksiyonlar, kodun daha anlaşılır olmasını sağlar.
- Hata Ayıklama: Fonksiyonlar, hataların izole edilmesini ve düzeltilmesini kolaylaştırır.
Sonuç
JavaScript fonksiyonları, programlama sırasında kodun düzenlenmesini, yeniden kullanılabilirliğini ve okunabilirliğini artıran temel yapı taşlarıdır. Bu makalede, fonksiyon türlerini, parametreleri, return
ifadesini, callback fonksiyonlarını ve diğer önemli kavramları örneklerle açıkladık. Fonksiyonları etkili bir şekilde kullanarak, daha temiz ve bakımı kolay JavaScript kodları yazabilirsiniz.