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
仕様
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | (有) | (有) | (有) | (有) | (有) |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |