Kata kunci kembali

Gunakan return untuk menentukan nilai yang akan dihasilkan oleh fungsi sebagai hasil akhir. Saat penafsir mencapai pernyataan return, fungsi yang berisi pernyataan tersebut akan segera berakhir, dan nilai yang ditentukan akan ditampilkan ke konteks tempat fungsi dipanggil:

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

myFunction();
> 4

Fungsi yang menampilkan nilai dapat diperlakukan secara efektif sebagai data yang ada di dalamnya, mirip dengan variabel:

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

myFunction() + myFunction();
> 8

Pernyataan return tanpa ekspresi mengakhiri fungsi dan menampilkan undefined:

const myFunction = function() {
   return;
}

myFunction();
> undefined

Karena kata kunci return menandakan akhir fungsi, kode apa pun yang mengikuti return yang ditemukan tidak akan dieksekusi:

const myFunction = function() {
   return true;
   console.log( "This is a string." );
}

myFunction();
> true

Selain itu, kode setelah pernyataan return yang ditemukan dapat mengakibatkan peringatan (tetapi bukan error) di beberapa konsol pengembangan browser:

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

myFunction();
> true

Sekali lagi, ini hanya berlaku untuk pernyataan return yang ditemukan selama eksekusi fungsi, bukan kode yang mengikuti pernyataan return secara berurutan:

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."

"Kabel pendek" fungsi yang menggunakan return awal dapat menghasilkan kode yang lebih ringkas daripada pernyataan return tunggal di akhir fungsi. Misalnya, fungsi berikut menentukan apakah nilai yang diteruskan adalah string yang berisi lima karakter atau lebih. Jika nilai yang diteruskan bukan literal string, kode yang menghitung karakter tidak diperlukan, dan fungsi tersebut dapat segera menampilkan hasil false:

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

Ekspresi fungsi panah bersifat unik karena kata kunci return tersirat saat isi fungsi panah berisi satu ekspresi dan tanpa sintaksis blok:

const myFunction = () => 2 + 2;

myFunction();
> 4

Jika Anda menggunakan sintaksis blok untuk menentukan isi fungsi panah, return eksplisit diperlukan, meskipun isi fungsi hanya berisi satu ekspresi:

const myFunction = () => { 2 + 2 };

myFunction();
> undefined
const myFunction = () => { return 2 + 2 };

myFunction();
> 4

Menguji pemahaman Anda

Untuk apa return digunakan?

Menentukan hasil akhir fungsi.
Menampilkan kode ke awal fungsi.