Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

returnは関数の実行を終了して、関数の呼び出し元に返す値を指定します。

構文

return [[expression]]; 
expression
返す式。もし省略されたなら、undefined が代わりに返ります。

説明

関数内で return 文を呼び出すと、関数の実行が停止します。値が指定されていれば、その値を関数の呼び出し元に返します。式が省略されている場合は、undefined が代わりに返ります。以下の return 文はすべて、関数の実行を終了します:

return;
return true;
return false;
return x;
return x + y / 3;

自動セミコロン挿入

return 文は自動セミコロン挿入 (ASI) の影響を受けます。return キーワードと式の間に行終端文字を置くことはできません。

return
a + b;

は ASI によって以下のように変換されます:

return;
a + b;

コンソールが "unreachable code after return statement" という警告を出すでしょう。

Gecko 40 (Firefox 40 / Thunderbird 40 / SeaMonkey 2.37) より、return 文の後に到達できないコードがある場合に、コンソールに警告を表示します。

例: return を使う

次の関数は、x が数の場合、その引数 x の 2 乗を返します。

function square(x) {
   return x * x;
}

関数を中断する

return を呼び出した時点で、関数の実行が即座に終了します。

function counter() {
  for (var count = 1; ; count++) {  // 無限ループ
    console.log(count + "A"); // 5 まで
      if (count === 5) {          
        return;
      }
      console.log(count + "B");  // 4 まで
    }
  console.log(count + "C");  // 現れない
}

counter();

// 出力:
// 1A
// 1B
// 2A
// 2B
// 3A
// 3B
// 4A
// 4B
// 5A

関数を返す

クロージャの記事もご覧ください。

function magic(x) {
  return function calc(x) { return x * 42 };
}

var answer = magic();
answer(1337); // 56154

仕様

仕様書 策定状況 コメント
ECMAScript 1st Edition (ECMA-262) 標準 最初期の定義
ECMAScript 5.1 (ECMA-262)
Return statement の定義
標準  
ECMAScript 2015 (6th Edition, ECMA-262)
Return statement の定義
標準  
ECMAScript 2017 Draft (ECMA-262)
Return statement の定義
ドラフト  

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari
基本サポート (有) (有) (有) (有) (有)
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート (有) (有) (有) (有) (有) (有)

関連情報

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: yyss, teoli, ethertank, Mgjbot, Nanto vi
 最終更新者: yyss,