Tüm blog yazıları

JavaScript'te Fonksiyonlara Argüman Geçmek

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 devre

eminbasbayan3 dk okuma
JavaScript'te Fonksiyonlara Argüman Geçmek

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:

jsx
function sayHello() {
  console.log("Merhaba dünya!");
}

Bu fonksiyonu çağırdığımızda:

jsx
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:

jsx
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:

jsx
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:

jsx
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:

jsx
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:

jsx
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:

jsx
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:

jsx
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.

JavaScript Classes ile pratik uygulamalar, metotlar arası iletişim ve gerçek dünya kod örnekleri
JavaScript Dersleri9 dk okuma

JavaScript Classes - Pratik Uygulamalar

JavaScript class'ları ile pratik uygulamalara geçin! Metotlar arası iletişimden constructor'da metot çağırmaya, kod tekrarını azaltmaktan gerçek dünya senaryolarına kadar class kullanımının inceliklerini keşfedin. Kendi alışveriş sepeti örneğinizle bilginizi pekiştirin.

Yazıyı oku
JavaScript class yapısını gösteren bir kod örneği, ES6 ile modern nesne oluşturma
JavaScript Dersleri9 dk okuma

JavaScript Classes

ES6 ile JavaScript'e gelen class yapısı sayesinde nesne oluşturmak artık çok daha kolay ve düzenli! Constructor function karmaşasından kurtulup, okunabilir ve yönetilebilir kodlar yazmak isteyenler için modern JavaScript'in temel taşı olan class'ları tüm detaylarıyla keşfedin. Bu rehberle nesne şabl

Yazıyı oku
JavaScript kodunda Constructor Function ve new keyword'ü ile nesne oluşturma örnekleri
JavaScript Dersleri8 dk okuma

Constructor Functions ve new Keyword

Factory Function'ların hafıza israfı sorununa Constructor Function'lar ve new keyword'ü ile son verin! Metotları paylaştırarak JavaScript objelerini daha verimli nasıl oluşturacağınızı, new'in perde arkasında neler yaptığını ve prototype sisteminin gücünü bu rehberde keşfedin.

Yazıyı oku

Çerez tercihlerin

Platformun çalışması için zorunlu çerezler kullanıyoruz. İzin verirsen anonim kullanım verilerini ölçüyoruz. Ayrıntıları incele