Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi

JavaScript return nedir?​


JavaScript'te return, bir fonksiyonun çalışmasını sonlandırıp çağrıldığı yere bir değer gönderen komuttur. Fonksiyonun ürettiği sonucu dışarıda kullanmak istiyorsanız return kullanırsınız. Normal akışta return’den sonraki satırlar atlanır; ancak varsa finally bloğu değer dışarı dönmeden önce çalışır.

Temel kullanım​


Aşağıdaki fonksiyon iki sayıyı toplar ve sonucu çağıran koda geri verir:

Kod:
function topla(a, b) {
  return a + b;
}

const sonuc = topla(3, 4);
console.log(sonuc);

Beklenen çıktı:

Kod:
7

Burada topla(3, 4) ifadesi 7 değerine dönüşür. Bu nedenle sonuç bir değişkene atanabilir, başka bir fonksiyona gönderilebilir veya koşul içinde kullanılabilir.

return çalışınca ne olur?​


return iki işi aynı anda yapar: Fonksiyonu bitirir ve belirtilen değeri geri verir.

Kod:
function kullaniciMesaji(oturumAcik) {
  if (oturumAcik) {
    return "Hoş geldiniz";
  }

  return "Lütfen giriş yapın";
}

console.log(kullaniciMesaji(true));
console.log(kullaniciMesaji(false));

Çıktı sırasıyla Hoş geldiniz ve Lütfen giriş yapın olur. İlk return çalıştığında fonksiyon hemen bittiği için alttaki ikinci return yalnızca koşulun yanlış olduğu durumda değerlendirilir.

return ile console.log arasındaki fark​


console.log() değeri geliştirici konsoluna yazdırır; return ise değeri fonksiyonun çağrıldığı yere taşır. Yazdırılan bir değeri başka hesaplamada doğrudan kullanamazsınız.

KodGöreviSonraki kullanım
return degerFonksiyondan değer döndürürDeğişkene atanabilir veya işlenebilir
console.log(deger)Değeri konsola yazarTek başına fonksiyon sonucu oluşturmaz

Örneğin return kullanmayan bir fonksiyonu değişkende saklarsanız sıradan fonksiyon çağrısının sonucu undefined olur:

Kod:
function yazdir() {
  console.log("Merhaba");
}

const sonuc = yazdir();
console.log(sonuc);

Konsolda önce Merhaba, ardından undefined görülür. Fonksiyon ekrana yazı yazmıştır ancak çağıran koda bir değer döndürmemiştir.

Uygulanabilir kullanım adımları​


Bir fonksiyondan sonuç almak için şu sırayı izleyin:

  1. Fonksiyonun hangi girdileri alacağını parametre olarak tanımlayın.
  2. Sonucu hesaplayan ifadeyi fonksiyon gövdesinde oluşturun.
  3. Çağıran kodun kullanacağı noktada return ile bu sonucu döndürün.
  4. Fonksiyonu çağırıp sonucu bir değişkene atayın veya doğrudan kullanın.
  5. Beklenmeyen undefined görürseniz her koşul yolunda return olup olmadığını kontrol edin.

Örneğin:

Kod:
function indirimliFiyat(fiyat, indirim) {
  if (!Number.isFinite(fiyat) || !Number.isFinite(indirim) ||
      fiyat < 0 || indirim < 0 || indirim > 100) {
    return null;
  }

  return fiyat - (fiyat * indirim / 100);
}

const sonuc = indirimliFiyat(200, 10);
console.log(sonuc);

Beklenen çıktı 180 olur. Geçersiz bir değer verilirse fonksiyon null döndürür; çağıran kod bunu kontrol ederek işlemi durdurabilir veya kullanıcıya hata mesajı gösterebilir. Gerçek uygulamalarda hata durumunu null, özel bir nesne veya fırlatılmış hata ile temsil edip etmemeye proje sözleşmesine göre karar verin; bu değerleri birbirine karıştırmayın.

finally ve async fonksiyonları ayırın​


Bir try bloğunda return çalışsa bile ilgili finally önce yürütülür; temizlik kodu burada çalışabilir. Finally içine başka bir return yazmak önceki sonucu değiştirebilir, bu nedenle temizliği dönüş değerinden ayrı tutun. Yukarıdaki örnekler sıradan fonksiyonlardır. Async fonksiyon, return edilen değeri çözümleyen bir Promise döndürür; çağıran kod sonucu await veya Promise zinciriyle alır.

Sık yapılan hatalar​


  1. return ile değer yazdırmayı karıştırmak: Konsolda görünmesi, değerin fonksiyondan döndüğü anlamına gelmez.
  2. return sonrasına çalışan kod beklemek: return sonrasındaki aynı blokta bulunan satırlar yürütülmez.
  3. Her koşulda sonuç döndürmemek: Bazı durumlarda return çalışmazsa sonuç undefined olabilir.
  4. Satır sonuna yanlışlıkla geçmek: return ile değeri ayrı satırlara bölmek otomatik noktalı virgül ekleme nedeniyle beklenmeyen sonuç doğurabilir. Değeri return ile aynı satırda yazın.
  5. Fonksiyon dışında kullanmak: return yalnızca bir fonksiyonun gövdesinde kullanılabilir; tarayıcıda normal betik veya modülün en üst seviyesinde yazılması sözdizimi hatasına yol açar.

Sık sorulan sorular​


Arrow function içinde return nasıl kullanılır?​


Tek ifadeli arrow function'larda süslü parantez kullanılmazsa ifade örtük olarak döndürülür: const kare = sayi => sayi * sayi;. Süslü parantez eklerseniz açıkça return yazmanız gerekir: const kare = sayi => { return sayi * sayi; };.

return boş bırakılırsa ne döner?​


return; fonksiyonu hemen sonlandırır ve undefined döndürür. Hiç return çalışmaması da çoğu durumda aynı sonucu üretir; ancak fonksiyonun hangi koşulda bittiğini anlamak için açık yazım daha okunaklı olabilir.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.