// 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を実...
-
idを使わずにonclickで自身の要...
-
処理前の「お待ちください」
-
jslintのエラーについて質問
-
関数でy=g(x)のgとは何の略です...
-
javascriptで静的メンバーを実...
-
javascript(jQuery)でセル内...
-
関数名をテキストから読み込む...
-
google apps scriptの終了のさせ方
-
同じIDで定義した要素の配列を...
-
<a>タグのテキストを取得
-
C#OpenCv V4にのエラーに関する...
-
C#で、ContextMenuStripに動的...
-
ジェネレーターの作り方
-
mousewheelイベントについて
-
ActiveXobjectが作成できない
-
VBAでIEのボタンを押してメッセ...
-
フォーム入力値の重複チェック
-
Boolean型配列中のTrueの有無を...
-
乗換案内 VBAで操作したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
関数でy=g(x)のgとは何の略です...
-
jslintのエラーについて質問
-
クリックすると上に開くアコー...
-
XMLHttpRequestでキャッシュを...
-
ajax反映後のjqueryが動かない
-
要素名がスペースを含む場合のj...
-
function(e)の意味を教えてくだ...
-
jQueryの :not() .not() が有効...
-
jQueryでzipを解凍読み込みする...
-
getElementByIdを使用したグロ...
-
関数名をテキストから読み込む...
-
jqueryuiのdialog
-
addEventListener()でリスナー...
-
jqueryのグローバル変数とロー...
-
jQuery 同じ処理を関数にまとめ...
-
drawImageの描画順序の指定につ...
-
XMLHttpRequestオブジェクトが...
-
jQueryが読み込めない
おすすめ情報
function map() {
console.log('サンプル');
}
上記はアロー関数になりますか ?