JavaScript’te return Anahtar Kelimesi
eminbasbayan

İçindekiler
Bu yazıda neler var?
JavaScript’te programlama yaparken birçok defa fonksiyonlar yazarız. Fonksiyonlar, belirli bir işi yapan ve ihtiyaç duyduğumuzda çağırabileceğimiz kod bloklarıdır. Bu fonksiyonlar bazen sadece ekrana bir şeyler yazdırır, bazen de bize bir değer üretip bu değeri dış dünyaya verir. İşte tam bu noktada return anahtar kelimesi devreye girer.
Bu yazıda return kelimesinin ne işe yaradığını, nasıl kullanıldığını ve neden bu kadar önemli olduğunu detaylıca inceleyeceğiz. Konuyu sade bir dille, örneklerle açıklayacağız.
console.log ile return Arasındaki Temel Fark
Önce basit bir örnekle başlayalım:
function carp(a, b) {
console.log(a * b);
}Bu fonksiyon iki sayıyı çarpıp sonucu ekrana yazdırır. Örneğin:
carp(3, 6); // Konsola 18 yazdırırPeki biz bu sonucu saklamak istesek?
let sonuc = carp(3, 6);
console.log(sonuc); // Ne yazdırır? -> undefinedBurada sonuc değişkenine bir değer gelmez. Çünkü fonksiyon sadece console.log ile ekrana yazı yazdı, ama dışarıya bir değer döndürmedi.
Fonksiyondan Değer Döndürmek: return
Bir fonksiyonun bir işlem yaptıktan sonra sonucunu dış dünyaya vermesini istiyorsak, return kullanmamız gerekir. Yukarıdaki örneği yeniden yazalım:
function carp(a, b) {
return a * b;
}Artık bu fonksiyon, çarpım sonucunu dışarıya verir. Bu sonucu bir değişkene atayabiliriz:
let sonuc = carp(3, 6);
console.log(sonuc); // 18Bu örnekte artık gerçekten fonksiyondan bir değer aldık. Bu değer sadece konsola yazdırılabilir değil, başka işlemlerde de kullanılabilir.
return Kullanılınca Fonksiyon Durur
return sadece bir değeri döndürmekle kalmaz, aynı zamanda fonksiyonun çalışmasını o anda durdurur. Yani return satırından sonra gelen hiçbir satır çalışmaz.
Örneğin:
function yazVeDon() {
return "Bitti";
console.log("Bu satır asla çalışmaz");
}Burada "Bu satır asla çalışmaz" ifadesi gerçekten de çalışmaz. Çünkü return ile fonksiyonun işi bitirilmiş olur.
Şartlı Durumlarda return Kullanımı
Fonksiyonların içinde bazen farklı durumlara göre farklı çıktılar vermek isteyebiliriz. Örneğin bir fonksiyon hem iki değeri toplayabilir, hem de geçersiz bir değer verildiğinde bir hata mesajı döndürebilir.
function topla(a, b) {
if (typeof a !== "number" || typeof b !== "number") {
return "Geçersiz giriş";
}
return a + b;
}Kullanımı:
console.log(topla(4, 5)); // 9
console.log(topla("merhaba", 2)); // "Geçersiz giriş"Burada önemli olan şey şu: Eğer return çalışırsa, o andan itibaren fonksiyonun geri kalanı çalışmaz. Bu yüzden yukarıdaki örnekte return "Geçersiz giriş"; çalışırsa, return a + b; hiç çalışmaz.
return Sadece Tek Bir Değer Döndürür
Bir fonksiyonda aynı anda sadece bir değer döndürülebilir. Bu değer ister sayı olsun, ister metin, isterse bir dizi veya nesne.
Yanlış bir kullanım:
function bilgileriVer() {
return "Ahmet", "Mehmet"; // Sadece "Mehmet" döner
}Bu örnekte sadece sonuncu değer döner. İlk yazılan "Ahmet" göz ardı edilir. Doğru kullanım ise bu değerleri bir dizi ya da bir nesne içinde döndürmektir:
function bilgileriVer() {
return ["Ahmet", "Mehmet"];
}Ya da:
function bilgileriVer() {
return { ad: "Ahmet", soyad: "Mehmet" };
}Bu şekilde hem birden fazla bilgiyi dışarıya veririz, hem de sadece bir tane değer döndürmüş oluruz (ama bu değer çok veri içerebilir).
Dönen Değeri Başka İşlemlerde Kullanmak
return sayesinde bir fonksiyonun sonucunu başka fonksiyonlarda ya da işlemlerde kullanabiliriz.
Örneğin:
Ya da daha kısa şekilde:
function ikiKat(x) {
return x * 2;
}
let sonuc = ikiKat(5); // 10
let yeniSonuc = ikiKat(sonuc); // 20
console.log(yeniSonuc);let toplam = ikiKat(ikiKat(3)); // 3 → 6 → 12
console.log(toplam); // 12Fonksiyonun döndürdüğü değeri başka fonksiyona girdi olarak da verebiliriz.
return ile Built-in Fonksiyonlar Arasındaki Benzerlik
Aslında JavaScript’te sıkça kullandığımız birçok yerleşik (built-in) fonksiyon da return kullanır. Örneğin:
let metin = "Merhaba";
let yeniMetin = metin.toUpperCase();
console.log(yeniMetin); // "MERHABA"Burada toUpperCase() fonksiyonu yeni bir metin döndürür. Eğer bu fonksiyon sadece console.log yapsaydı, yeniMetin değişkenine bir şey gelmezdi.
Aynı durum Math.random() gibi fonksiyonlar için de geçerlidir:
let rastgele = Math.random(); // 0 ile 1 arasında rastgele bir sayı
console.log(rastgele);Bu tür fonksiyonlar da aslında return kullanarak değer döndürür.
Sonuç: return Olmadan Değer Üretilemez
Bir fonksiyondan gerçekten geri dönüş almak istiyorsak, sadece bir şeyleri ekrana yazdırmak değil de, o değeri başka bir yerde kullanmak istiyorsak, mutlaka return kullanmalıyız.
Bu yazıda öğrendiklerimizi özetleyelim:
return, bir fonksiyonun sonucunu dış dünyaya verir.console.logsadece ekrana yazar, bir değer döndürmez.returnçalıştığı anda fonksiyon durur, sonrasındaki kod çalışmaz.- Bir fonksiyondan sadece tek bir değer döndürülebilir (ama bu değer çok veri içerebilir).
returnile dönen değer başka fonksiyonlara veya işlemlere aktarılabilir.
İşte bu yüzden return, JavaScript fonksiyonlarında en temel ve en önemli kavramlardan biridir. Kodun tekrar kullanılabilirliğini artırır, işlemlerin sonucunu kontrol etmeyi sağlar ve yazdığımız fonksiyonları daha güçlü hale getirir.






