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
仕様
ブラウザ実装状況
現在、互換性データを可読形式の JSON フォーマットに置き換えているところです。
この互換性一覧は古い形式を使っており、これに含まれるデータの置き換えが済んでいません。
手助けしていただける場合は、こちらから!
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) |
| 機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| 基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |