![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_04.png?e8efa67)
例えば、通常の関数が次のように定義されていた場合、
アロー関数で表しても一番外側にある括弧は同じ位置ではありません。
即時関数:
(function func(){
関数処理;
}());
即時関数(アロー関数で表した場合):
(func=>(...関数処理...)());
しかし、引数指定がある即時関数の場合は、
let c = (function func(a,b){
return a+b;
}(1.3));
console.log(c); // 出力値 4
大外の括弧の位置を遵守してアロー関数で表すと、関数そのものが出力されてしまいます。
let c = (func =(a,b)=>(a+b)(1,3));
// 出力値は、(a,b)=>(a+b)(1,3)となり関数を返してきます。
アロー関数で具体的な値を予め設定された引数を持つ即時関数をアロー関数で表すには、
let c = (func =(a,b)=>(a+b))(1,3); // 出力値 4
上記のように括弧の位置を変更する必要があります。
これはECMAScript推奨の即時関数の大外の括弧の位置と異なります。
ECMAScriptと異なる方法を取る必要性があったのか、
この理由を御存知の方がいらっしゃいましたら、御回答頂けますでしょうか。
アロー関数の仕様と言われれば、それまでですが、納得がいかないのです。
即時関数:
(function func(){
関数処理;
})();
これでも正しく動作するからいいのではないかというのは、
正しい記法とは異なるので無しでお願いします。
どうぞよろしくお願い申し上げます。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
>let c = (func =(a,b)=>(a+b)(1,3));
>// 出力値は、(a,b)=>(a+b)(1,3)となり関数を返してきます。
これは当然こうなるよね。
(a+b)を関数として引数(1,3)で呼び出す式に
解釈するのが自然。
関数リテラルは}で終わるから無名関数の終端が明確だが
アロー関数はそうは行きません。
(a+b)の所で関数が終端しているとするのは
どう考えても変態だと思います。
>(function func(){
> 関数処理;
>})();
>これでも正しく動作するからいいのではないかというのは、
>正しい記法とは異なるので無しでお願いします。
これは完璧に正しい記法。これを正しくないとする根拠は????
極普通に使われていますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- 数学 数学の問題が分かりません! 次の関数y=f(x)の逆関数y=f^-1(x)を求めよ. ※答えが2次関 3 2023/06/22 19:22
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- Excel(エクセル) 出退勤管理の遅刻・早退時間について 3 2023/08/10 15:33
- その他(Microsoft Office) Excelで時間計算(負) 8 2023/02/26 05:47
- 物理学 物理力学の問題を教えてください 2 2022/07/21 15:18
- Excel(エクセル) エクセルの数式で添付写真のものを入力していてわからないのですが、こちらの通り[]括弧も入れて入力しま 4 2023/02/05 18:33
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
- Excel(エクセル) エクセル、日々の集計整理方法。(再送です。) 5 2022/10/02 00:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<div>のタッチ状態を維持したま...
-
フォームが空欄の時にフォーム...
-
プラグイン無しでContactform7...
-
変数名をどのようにつけるのが...
-
階層別の組織図の自動作成について
-
条件に該当した時のみ定数を宣...
-
2段階プルダウンで1段階目の選...
-
読み込んだQRコードをフォーム...
-
初心者です。gulpでコンパイル...
-
正規表現について質問です。条...
-
jQueryでシンセサイザーを作っ...
-
メールフォームの日付入力フォ...
-
二次元配列を使って順位をだす...
-
二次元配列の中の各行の要素を...
-
出発駅A、到着駅Bを選択すると...
-
スマホ上で、左右スワイプで次...
-
【Google Apps Script】「ライ...
-
jQueryで同じクラス名のものを...
-
①入力フォーム→②確認表示画面→③...
-
プログラムについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
LRESULTとHRESULT
-
TextChangeイベントが発生しない
-
ifdefとenum
-
#define 文
-
PHP + MySQL で登録時に重複チ...
-
時間差を取得結果を求めるには
-
【javaScript】KeyboardEventで...
-
関数内でのグローバル変数
-
int型やfloat型などの範囲を返...
-
callbackってなんですか。
-
PHP requireの後にJS実行
-
char[]とchar*
-
アクティブなウィンドウのみ、...
-
JAVAの引数と戻り値について
-
C#のWindowsアプリケーションの...
-
VBにアクセスのデータベースを...
-
関数定義について質問です 架空...
-
無償BorlandC++5.5でAPI(SDK)...
おすすめ情報