Fonksiyonun nihai olarak üretmesi gereken değeri belirtmek için return
kullanın
yardımcı olur. Çevirmen bir return
ifadesine ulaştığında,
bu ifadeyi içerdiğinde hemen sona erer ve belirtilen değer,
fonksiyonun çağrıldığı bağlam:
const myFunction = function() {
return 2 + 2;
}
myFunction();
> 4
Bir değer döndüren bir işlev, o değeri döndüren veri içerir:
const myFunction = function() {
return 2 + 2;
}
myFunction() + myFunction();
> 8
İfade içermeyen bir return
ifadesi, işlevi sonlandırır ve
undefined
:
const myFunction = function() {
return;
}
myFunction();
> undefined
return
anahtar kelimesi bir işlevin sonunu belirttiğinden,
aşağıdaki komut return
yürütülmezse:
const myFunction = function() {
return true;
console.log( "This is a string." );
}
myFunction();
> true
Ayrıca, karşılaşılan return
ifadesini izleyen kod,
bazı tarayıcılarda "hata değil" uyarısı geliştirme konsolları:
const myFunction = function() {
return true;
console.log( "This is a string." );
}
> unreachable code after return statement
myFunction();
> true
Bu durum yalnızcareturn
işlevin yürütülmesidir, return
ifadesini sırayla izleyen herhangi bir kod değil:
const myFunction = function( myParameter ) {
if( myParameter === undefined ) {
return "This is the result.";
}
return "This is the alternate result.";
}
myFunction();
> "This is the result."
myFunction( true );
> "This is the alternate result."
"Kısa devre" erken return
kullanan bir fonksiyon daha kısa ve öz
, işlevin sonundaki tek bir return
ifadesinden daha yüksek bir kodla ifade edilir. Örneğin,
aşağıdaki işlev, iletilen değerin beş değer içeren bir dize olup olmadığını belirler ve
veya daha fazla karakter kullanabilirsiniz. İletilen değer bir dize sabit değeri değilse
karakterlerinin sayımı gereksizdir ve işlev, false
hatası döndürebilir.
hemen sonuç oluşturabilirsiniz:
function myFunction( myString ) {
if( typeof myString !== "string" ) {
return false;
}
if( myString.length >= 5 ) {
return true;
} else {
return false;
}
}
myFunction( 100 );
> false
myFunction( "St" );
> false
myFunction( "String." );
> true
Ok işlevi ifadeleri
bir ok işlevi gövdesinde return
anahtar kelimesinin ima edilmesi açısından benzersizdir.
tek bir ifade içeriyorsa ve blok söz dizimi yoksa:
const myFunction = () => 2 + 2;
myFunction();
> 4
Ok işlev gövdesini tanımlamak için blok söz dizimi kullanırsanız açık bir return
öğesi gereklidir, ancak işlev gövdesi yalnızca tek bir ifade içerse bile gereklidir:
const myFunction = () => { 2 + 2 };
myFunction();
> undefined
const myFunction = () => { return 2 + 2 };
myFunction();
> 4
Öğrendiklerinizi sınayın
return
ne için kullanılır?