Programlama yaparken, bazı işlemleri tekrar tekrar kullanmak isteriz. Bu işlemleri bir defa yazmak ve sonra ihtiyacımız oldukça çağırmak için fonksiyonları kullanırız. Ancak çoğu zaman, bu fonksiyonların farklı verilerle çalışmasını isteriz. İşte burada devreye argümanlar (girdi değerleri) girer.
Bu yazıda, JavaScript’te fonksiyonlara nasıl argüman (input) geçeceğimizi adım adım öğreniyoruz. Konuyu daha iyi kavrayabilmek için örnekler üzerinden ilerleyeceğiz ve sade bir dille anlatacağız.
Fonksiyonlar ve Sabit Çıktılar
Başlamadan önce basit bir fonksiyona bakalım. Aşağıdaki fonksiyon her çağrıldığında aynı şeyi yapar:
function sayHello() {
console.log("Merhaba dünya!");
}
Bu fonksiyonu çağırdığımızda:
sayHello();
Konsola “Merhaba dünya!” yazar. Ne zaman çalıştırırsak çalıştıralım, hep aynı çıktıyı verir çünkü içine hiçbir veri gönderilmemiştir. İşte bu tarz fonksiyonlara sabit çalışan fonksiyonlar diyebiliriz.
Fonksiyonlara Veri Göndermek: Argümanlar
Fonksiyonların daha dinamik, yani değişken çıktılar verebilmesi için onlara veri göndermemiz gerekir. İşte bu gönderdiğimiz veriye argüman, fonksiyonun tanımında bu veriyi karşılayan isme ise parametre denir.
Örnek:
function welcome(studentName) {
console.log("Hoş geldin " + studentName + "!");
}
Bu fonksiyonda studentName
bir parametredir. Şimdi bu fonksiyonu çağırırken içine bir isim gönderelim:
welcome("Merve"); // Hoş geldin Merve!
welcome("Can"); // Hoş geldin Can!
Burada "Merve"
ve "Can"
birer argümandır. Fonksiyon her seferinde, içine gönderilen isme göre farklı çıktı verir.
Parametre ve Argüman Arasındaki Fark
Bu kavramlar genellikle birbirine karıştırılır. Basitçe ifade edersek:
- Parametre, fonksiyon tanımlanırken yazdığımız değişkendir.
- Argüman, fonksiyonu çağırırken gönderdiğimiz değerdir.
Örnek:
function multiply(number) { // number = parametre
console.log(number * 2);
}
multiply(8); // 8 = argüman
multiply(12); // 12 = argüman
Farklı Tipte Argümanlar
JavaScript’te bir fonksiyona sadece string (yazı) değil, sayı, boolean, hatta başka bir fonksiyon bile gönderebilirsin. Ancak bu yazımızda yalnızca sayılar ve metinlerle ilgili örnekler üzerinden ilerleyelim.
Örnek:
function showAge(age) {
console.log("Senin yaşın: " + age);
}
showAge(17); // Senin yaşın: 17
Birden Fazla Argüman Kullanmak
Fonksiyonlara birden fazla argüman da geçilebilir. Bu durumda her bir argüman, sırayla ilgili parametreye atanır.
Örnek:
function fullName(firstName, lastName) {
console.log("Ad Soyad: " + firstName + " " + lastName);
}
fullName("Ayşe", "Yılmaz"); // Ad Soyad: Ayşe Yılmaz
Burada firstName
ve lastName
birer parametredir. "Ayşe"
ve "Yılmaz"
ise argümanlardır.
Argüman Gönderilmezse Ne Olur?
Eğer bir fonksiyon argüman bekliyorsa ama biz ona hiçbir şey göndermezsek, beklenen parametrenin değeri undefined
olur.
Örnek:
function greet(name) {
console.log("Selam, " + name);
}
greet(); // Selam, undefined
Hiçbir şey gönderilmediği için name
değişkeni undefined
olur ve bu da çıktı olarak ekrana yansır. Bu durum genelde istenmeyen bir hatadır, ama JavaScript buna izin verir.
Fonksiyonları Anlamak İçin Makine Benzetmesi
Bir fonksiyonu bir makine gibi düşünebiliriz. Bu makineye bir şeyler veriyoruz (argüman), o da bize bir çıktı üretiyor.
Örnek:
function calculateSquare(number) {
console.log("Karesi: " + number * number);
}
calculateSquare(5); // Karesi: 25
calculateSquare(9); // Karesi: 81
Burada number
makineye giren değer. Fonksiyon içinde bu sayı kendisiyle çarpılıyor ve ekrana yazdırılıyor.
Özet
- Fonksiyonlar bazı işleri tekrar kullanmak için yazılır.
- Argümanlar, fonksiyonların daha esnek olmasını sağlar.
- Fonksiyon tanımında yazılan isimler parametre, çağrılırken gönderilen değerler ise argümandır.
- Argüman gönderilmezse, ilgili parametrenin değeri
undefined
olur.
- Bir fonksiyona birden fazla argüman göndermek mümkündür.
Sonuç
JavaScript’te fonksiyonlara argüman geçmek, programlarımızı daha kullanışlı ve tekrar kullanılabilir hale getirir. Sadece sabit mesajlar veren fonksiyonlar yerine, her çağrıldığında farklı işlem yapabilen dinamik fonksiyonlar yazmamızı sağlar.
Bu temel kavramı öğrenmek, programlama dünyasında bir adım daha ileri gitmek demektir.