return キーワード

return を使用して、関数が最終版として生成する値を指定します。 表示されます。インタープリタが return ステートメントに到達すると、 そのステートメントが直ちに終了し、指定された値が 関数が呼び出されたコンテキスト:

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

myFunction();
> 4

値を返す関数は、実際にはそのデータとして扱える が次を含む:

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

myFunction() + myFunction();
> 8

式のない return ステートメントは、関数を終了して返します。 undefined:

const myFunction = function() {
   return;
}

myFunction();
> undefined

return キーワードは関数の終わりを通知するため、 return が実行されなかった場合:

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

myFunction();
> true

また、検出された return ステートメントに続くコードでは、 警告が表示される(エラーではない)開発コンソール:

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

myFunction();
> true

繰り返しになりますが、これは return return ステートメントに連続して続くコードではなく、関数の実行のみに適用されます。

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

「ショート回路」早期の return を使用する関数では、より簡潔に 単一の return ステートメントよりも多くのコードを使用できます。たとえば、 次の関数は、渡された値が 5 を含む文字列かどうかを 使用できます。渡された値が文字列リテラルでない場合、 不要な文字がカウントされ、関数は 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

アロー関数式 アロー関数の本体で return キーワードが暗黙的に指定されるという点で に 1 つの式が含まれ、ブロック構文がないことを示しています。

const myFunction = () => 2 + 2;

myFunction();
> 4

ブロック構文を使用してアロー関数の本文を定義する場合は、明示的な return 関数本体に式が 1 つしかない場合でも、必須です。

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

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

myFunction();
> 4

理解度をチェックする

return の用途

関数の最終結果を指定する。
関数の先頭にコードを返す。