return
return
komutu fonskiyonun çalışmasını bitirir ve fonksiyondan döndürülecek değeri belirler.
Sözdizimi
return [[ifade]];
ifade
- Döndürülecek ifade. Eğer atlanırsa,
undefined
döndürülür.
Açıklama
Bir fonksiyonda return
komutu çağırılırsa, o fonksiyonun çalışması durur. Eğer belirtilmişse, verilen değer fonksiyonu çağırana kadar döndürülür. Eğer ifade belirtilmemişse, undefined döndürülür
. Aşağıdaki tüm return
komutları çağırıldıkları fonksiyonun çalışmasını durdururlar:
return;
return true;
return false;
return x;
return x + y / 3;
Otomatik Noktalı Virgül İlavesi
return
komutu otomatik noktalı virgül ilavesi (ASI)'ne dahildir. return
ile ifade
aynı satırda olmalıdır. Aksi halde;
return
a + b;
ASI tarafıdan aşağıdaki gibi değiştirilir:
return; a + b;
Ve konsol size şu uyarıyı verecektir:"unreachable code after return statement (return komutundan sonra ulaşılamayan kod)".
Örnekler
Değer döndürme
Aşağıdaki fonksiyon x argümanının (burada x bir sayıdır), karesini döndürür.
function square(x) {
return x * x;
}
Fonksiyonu yarıda kesme
return çağırıldığında, çağırıldığı noktada o fonksiyon anında durur .
function sayac() {
for (var sayim = 1; ; sayim++) { // sonsuz döngü
console.log(sayim + "A"); // 5'e kadar çıktı verir.
if (sayim === 5) {
return;
}
console.log(sayim + "B"); // 4'e kadar çıktı verir.
}
console.log(sayim + "C"); // hiçbir çıktı vermez.
}
sayac();
// Çıktı:
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A
Bir fonksiyonu döndürme
Kapsanımlar hakkındaki şu makaleye de bakınız: Closures.
function magic(x) {
return function calc(x) { return x * 42 };
}
var answer = magic();
answer(1337); // 56154
Özellikler
Özellik | Durum | Açıklama |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Ön-tanımlı. |
ECMAScript 5.1 (ECMA-262) The definition of 'Return statement' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Return statement' in that specification. |
Standard | |
ECMAScript (ECMA-262) The definition of 'Return statement' in that specification. |
Living Standard |
Tarayıcı Uyumluluğu
Özellik | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Temel destek | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Özellik | Android | Android için Chrome | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Temel destek | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |