return

関数の実行を終了し、指定された値が関数呼び出し元に返されます。

文法

return [[expression]];
expression
戻り値となる値(式)を指定します。 省略すると、代わりにundefinedが返されます。

説明

return文は関数内で使用され、その関数の実行を停止します。 値が指定されると、関数の呼び出し元にその値を返します。 もしこれが省略されると、代わりにundefinedが返されます。 下記のreturn文の書き方は、全て関数の実行を止めるものです。

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

return文は、自動セミコロン挿入(automatic semicolon insertion - ASI)による影響を受けます。 returnキーワードと式の間には、行終端は存在しません。

return
a + b;

// ASIが入ることで、次のように変換されます。

return;
a + b;

注意事項

returnの使用例

下記の関数は、数値である引数xの2乗の値を返します。

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

例: 関数の中断

関数は、returnが呼び出された場所で即座に停止します。

function counter() {
  for (var count = 1; ; count++) {  // 無限ループ
    console.log(count + "A");       // Aは5まで
      if (count === 5) {
        return;
      }
      console.log(count + "B");     // Bは4まで
    }
  console.log(count + "C");         // ここに到達することは無い
}

counter();

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

例: 関数自体をreturn

クロージャの詳細については、 JavaScript guideを参照してください。

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

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

仕様

ブラウザ互換性

デスクトップ
機能 Chrome Firefox
(Gecko)
IE Opera Safari
基本
モバイル
機能 Android Chrome for
Android
Firefox
Mobile
IE
Mobile
Opera
Mobile
Safari
Mobile
基本

関連項目

 Back to top

© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.

このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。

  • 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
  • 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
  • MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
  • "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。