// function
function test(x) {
return x + 1;
}
// arrow function 引数なし (かっこがいる)
const test = () => 1; // 出力の式が一行の場合はreturnは不要
// arrow function 引数1つ (かっこいらない)
const test = x => x + 1;
// arrow function 引数2つ以上 (かっこいる)
const test = (x, y) => x + y + 1;
2 つ質問があります。
1 つは書き方を覚えにくい、覚えやすい方法はないのですか ?
2 つ目以下です。
アロー関数
1. this を持ちません。
2. arguments を持ちません。
3. new で呼び出すことはできません。
4. (super も持っていません。が、私たちはまだそれを学んでいませんでした。チャプター クラスの継承 で学習しましょう)。
これは、独自の “コンテキスト” を持たず、むしろ現在のコンテキストで動作するコードの小さい部品を意味するためです。
そして、そのようなユースケースで本当に輝きます。
普通にこれまでの関数を使えば良いと思うのですが
上記 2 の意味がわかりませんが、
上記以外の状況で、短く書きたい時に使うのがアロー関数ですか ?
No.2ベストアンサー
- 回答日時:
こんにちは
アロー関数は、通常の function文の制限付きのショートハンドです。
制限の内容は、ご質問文に記載の項目などです。
this値を参照できないので、No1様がご指摘のように、無名関数で利用されることが多いようですが、名前付き関数定義にも使うことは可能です。
ただし、class やオブジェクトのメソッド定義には向いていないように思います。(thisが参照できないので)
https://developer.mozilla.org/ja/docs/Web/JavaSc …
>上記 2 の意味がわかりませんが、~
例えば、引数の総和を求める関数を考えたとして、
function sigma(){
let sum = 0;
for(const v of arguments) sum += v;
return sum;
}
console.log( sigma(1, 2, 3) ); // 6
console.log( sigma(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) ); // 55
のようなことができないという意味でしょう。
とは言え、上記の内容であればアロー関数でも記述は可能ですけれど…
const sigma2 = (...args) => {
let sum = 0;
args.forEach(v =>{ sum += v });
return sum;
}
>上記はアロー関数になりますか ?
例えば、
const map = () => { console.log('サンプル') };
map();
とか。
No.1
- 回答日時:
agurmentsというのは一般的に考えて引数のことですよね
アロー関数はどちらかというとmapやfilterなどのようなコールバック関数によく使われ便利ですので覚えておいた方が良いですよ
array.map(x => x * 2)
const test = x => x + 1;のような使い方をする人もいますがただ関数を書きたいだけなら普通の関数を使った方が私は見やすいので普通の関数を書くときにはアロー関数は使わないですね
私の場合の話ですが
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- JavaScript JavaScriptの即時関数の書き方 1 2022/11/29 09:52
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- C言語・C++・C# C言語の課題が出たのですが自力でやっても分かりませんでした。 要素数がnであるint型の配列v2の並 3 2022/11/19 17:41
- JavaScript 正規表現について質問です。条件に合う場合はtrueを返したい 3 2022/10/06 23:02
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
functionから別のfunctionを実...
-
JAVAスクリプトで指定時間以降...
-
関数でy=g(x)のgとは何の略です...
-
シューティングゲームの作り方
-
idを使わずにonclickで自身の要...
-
jQueryの"return false"の役割...
-
クリックすると上に開くアコー...
-
関数の中の値を取り出したい
-
マウスをのせてながら、2秒後に...
-
同じIDで定義した要素の配列を...
-
<a>タグのテキストを取得
-
C#OpenCv V4にのエラーに関する...
-
GASでundefinedエラーが出ます
-
C#テキストボックスの文字を配...
-
window.openでタイトル名の指定
-
ActiveXobjectが作成できない
-
クリッカブルマップのリンク部...
-
undefinedを表示させない方法は...
-
Vb.netのグローバル変数の宣言...
-
googleスプレッドシートのApps ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数でy=g(x)のgとは何の略です...
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
jslintのエラーについて質問
-
要素名がスペースを含む場合のj...
-
javascript(jQuery)でセル内...
-
ajax反映後のjqueryが動かない
-
jQueryの :not() .not() が有効...
-
getElementByIdを使用したグロ...
-
コードをスマートにさせたい。
-
クリックすると上に開くアコー...
-
jQueryの"return false"の役割...
-
jQueryが読み込めない
-
個別では動く、javascriptのエラー
-
一つのアクションで関数を二つ...
-
jqueryの変数を関数の外に出す方法
-
R言語
-
jQuery|:not(:animated)
-
即時関数でプライベート変数的...
-
スムーズに動く アニメーション...
おすすめ情報
function map() {
console.log('サンプル');
}
上記はアロー関数になりますか ?