この記事では、JavaScriptにおけるアロー関数と通常の関数の違いについて解説します。具体的な内容は以下のとおりです。 矢印関数:楽しみましょう = () => { console.log('ララララ'); } 通常の機能:関数fun() { console.log('ララ'); } 矢印関数は匿名関数と同等であり、関数定義を簡素化します。矢印関数には 2 つの形式があります。1 つは、{...} と return が省略された 1 つの式のみを含む形式です。複数の文を記述できる型もあり、その場合は { ... } と return を省略することはできません。 矢印関数は匿名関数であり、コンストラクターとして使用したり、new と共に使用したりすることはできません。 FunConstructor = () => { コンソールログ('lll'); } fc = new FunConstructor(); とします。 矢印関数は引数をバインドせず、代わりに残りパラメータを使用します...解決策 関数A(a){ console.log(引数); } A(1,2,3,4,5,8); // [1, 2, 3, 4, 5, 8, 呼び出し先: ƒ, Symbol(Symbol.iterator): ƒ] B = (b)=>{とする console.log(引数); } B(2,92,32,32); // キャッチされない ReferenceError: 引数が定義されていません C = (...c) => {とする コンソールログ(c); } C(3,82,32,11323); // [3, 82, 32, 11323] アロー関数はthisをバインドせず、それが配置されているコンテキストのthis値を自身のthis値として取得します。 var obj = { 10, b: () => { console.log(this.a); // 未定義 console.log(this); // ウィンドウ {postMessage: ƒ, blur: ƒ, focus: ƒ, close: ƒ, frames: Window, …} }, c: 関数() { コンソールログ(this.a); // 10 console.log(this); // {a: 10, b: ƒ, c: ƒ} } } obj.b(); オブジェクト var obj = { 10, b: 関数(){ コンソールログ(this.a); //10 }, c: 関数() { 戻り値 () =>{ コンソールログ(this.a); //10 } } } obj.b(); obj.c()(); 矢印関数がcall()またはapply()メソッドを通じて関数を呼び出す場合、渡されるパラメーターは 1 つだけであり、 thisには影響しません。 obj2 = { 10, b: 関数(n) { f = (n) => n + this.a とします。 f(n) を返します。 }, c: 関数(n) { f = (n) => n + this.a とします。 m = {とします 答え: 20 }; f.call(m,n) を返します。 } }; コンソールログ(obj2.b(1)); // 11 コンソールログ(obj2.c(1)); // 11 アロー関数にはプロトタイププロパティがありません var a = ()=>{ 1 を返します。 } 関数b(){ 2を返します。 } console.log(a.prototype); // 未定義 console.log(b.prototype); // {コンストラクタ: ƒ} 矢印関数はジェネレーター関数として使用できず、yieldキーワードも使用できません。 要約する
以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: NexusはHTTPSプロトコルをサポートするためにnginxプロキシを使用します
>>: VMware vCenter 6.7 のインストール プロセス (グラフィック チュートリアル)
ビンログBinLog は、データベース テーブル構造の変更 (テーブルの作成、変更など) とテーブル...
このデータベース クエリ ステートメントは、インターネット上の 50 個のデータベース クエリ練習問...
Windows システムに仮想マシンをインストールするには、 VMware Workstationソ...
目次リスナー1.ウォッチエフェクト2.見る1.1 聴くための最初の方法1.2 聞く2つ目の方法1.3...
(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...
多くの場合、Web ページ開発を学ぶときに最初に印象に残るのは、html または htm サフィック...
ネットワークが分離されているため、MySQL は yum を使用してインストールできません。ここでは...
この記事では、WindowsでのMySQL 8.0.12のインストール手順と使用方法のチュートリアル...
<a href = "http://" style = "cur...
まずデータ テーブルを作成しましょう。 使用テスト; テーブル「従業員」を作成します( emp_no...
目次Vuex とは何ですか? Vuexの5つの特性vuex の State 機能とは何ですか? vu...
問題点: docker run に -v パラメータを追加すると、コンテナは常に再起動状態になります...
1. テーブルとパーティションを分割する必要があるのはなぜですか?日常の開発では、大きなテーブルに遭...
目次非同期とは何ですか?なぜ非同期性が必要なのでしょうか?非同期IOとは何ですか?イベントループとは...
1. VPSとCentOSシステムを購入しましたが、サーバーの時間が北京時間と一致せず、時差があるこ...