Kata kunci kembali

Gunakan return untuk menentukan nilai yang harus dihasilkan fungsi sebagai final hasil pengujian tersebut. Saat penafsir mencapai pernyataan return, fungsi yang berisi pernyataan itu segera berakhir, dan nilai yang ditentukan dikembalikan ke konteks pemanggilan fungsi:

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

myFunction();
> 4

Sebuah fungsi yang mengembalikan nilai dapat diperlakukan secara efektif sebagai data yang 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, setiap kode yang mengikuti return yang ditemui, tidak dieksekusi:

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

myFunction();
> true

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

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

"Singkatan singkat" fungsi yang menggunakan return awal dapat memberikan hasil yang lebih ringkas kode dari satu pernyataan return di akhir fungsi. Misalnya, fungsi berikut menentukan apakah nilai yang diteruskan adalah {i>string<i} yang berisi lima karakter atau lebih. Jika nilai yang diteruskan bukan literal string, kode yang menghitung karakter yang tidak diperlukan, dan fungsi dapat menampilkan false segera hasil:

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 unik karena kata kunci return tersirat jika isi fungsi panah berisi ekspresi tunggal 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

return digunakan untuk apa?

Menentukan hasil akhir suatu fungsi.
Menampilkan kode ke awal fungsi.