Dönüş anahtar kelimesi

Fonksiyonun nihai olarak üretmesi gereken değeri belirtmek için return kullanın yardımcı olur. Yorumlayıcı bir return ifadesine ulaştığında, bu ifadeyi içeren işlev hemen sona erer ve belirtilen değer, işlevin çağrıldığı bağlama döndürülür:

const myFunction = function() {
   return 2 + 2;
}

myFunction();
> 4

Değer döndüren bir işlev, bir değişkene benzer şekilde, içerdiği veriler olarak etkili bir şekilde ele alınabilir:

const myFunction = function() {
   return 2 + 2;
}

myFunction() + myFunction();
> 8

İfade içermeyen bir return ifadesi işlevi sonlandırır ve undefined değerini döndürür:

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 bir return ifadesini izleyen kod, bazı tarayıcıların geliştirme konsollarında uyarı (ancak hata değil) oluşturabilir:

const myFunction = function() {
   return true;
   console.log( "This is a string." );
}
> unreachable code after return statement

myFunction();
> true

Yine de bu durum yalnızca işlevin yürütülmesi sırasında karşılaşılan bir return ifadesi için geçerlidir, return ifadesini ardışık olarak izleyen kod için geçerli değildir:

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 bir değerin beş veya daha fazla karakter içeren bir dize olup olmadığını belirler. İ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, ok işlevi gövdesi tek bir ifade içerdiğinde ve blok söz dizimi içermediğinde return anahtar kelimesinin ima edilmesi açısından benzersizdir:

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 test etme

return ne için kullanılır?

Kodu işlevin başına döndürme.
Bir işlevin nihai sonucunu belirtme.