JavaScript
1a 2() => {} 3(引数,...)=>{...関数の本体...} 4の認識ですが一番外側の括弧って何を意味してますか? 5これです→((引数,...)=>{...関数の本体...})←これです 6ご教示お願いいたしますm(_ _)m
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
ベストアンサー
何も前提なしに丸括弧()
を使ったときはグループ化演算子として動作します。
アロー関数は多くのケースで一度変数に突っ込む使い方をしますが、
宣言してすぐ使いたいような場面では注意しなければなりません。
こういう即使いたい場面で、
お尻に()
を付けて関数実行を行った場合、構文エラーとなってしまいます。
bash
1$ node 2> () => {return 123}() 3() => {return 123}() 4 ^ 5Uncaught SyntaxError: Unexpected token '('
こういう時はグループ化演算子として()
で包んで1個の値にしましょう。
すると()
の関数実行で実行できるようになりました。
bash
1$ node 2> (() => {return 123})() 3123
おまけ: 関数以外でも似たような問題あるよ
JavaScriptはオブジェクト指向言語なので、
Number型にもtoString
等のメソッドが存在して、これを実行すると数値を文字列にするような使い方が可能です。
bash
1$ node 2> const num = 123 3> num.toString() 4'123'
しかし、プロパティ・メソッドへのアクセスとなるドット.
は数値入力中は小数点として機能します。
なので123.toString()
という風に数値に対してそのままアクセスしにいくと構文エラーとなります。
bash
1$ node 2> 123.toString() 3^^^^ 4Uncaught SyntaxError: Invalid or unexpected token
こういう時もグループ化演算子が活躍します。
bash
1$ node 2> (123).toString() 3'123'
投稿2022/06/04 21:58
編集2022/06/04 21:58総合スコア21400
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
これです→((引数,...)=>{...関数の本体...})←これです
その括弧はアロー関数式の一部ではありません。何らかの理由で括弧で囲む必要がある場合もありますし、とくに理由がなくても括弧で囲んでもいいです。
例:
new Promise((resolve, reject) => { ..});
アロー関数は関数の引数で、関数呼び出しの括弧で囲まれている
const f = ((e) => { ...});
アロー関数がとくに理由なく括弧で囲まれている。const a = (42);
と同じような感じ。
投稿2022/06/03 23:08
総合スコア21929
0
質問にある、外側の丸カッコが出てくる例としては
IIFE (即時実行関数式)
を書く場合です。
たとえば、MDN の IIFEの説明 に以下のサンプルコードがあります。
javascript
1var result = (function () { 2 var name = "Barry"; 3 return name; 4})(); 5// Immediately creates the output: 6result; // "Barry"
これをアロー関数を使って書けば、
javascript
1var result = (() => { 2 var name = "Barry"; 3 return name; 4})(); 5// Immediately creates the output: 6result; // "Barry"
となり、上記のコードで、result =
の直後にある (
と、}
の直後にある )
が
これです→((引数,...)=>{...関数の本体...})←これです
の外側の丸カッコの一例となっています。
投稿2022/06/04 04:01

退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2022/06/05 01:47

退会済みユーザー
2022/06/06 06:39

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。