javascript-tutorial / javascript-tutorial/en.javascript.info

The arrow function.... The lookup of this is made exactly the same way as a regular variable search: in the outer lexical environment.

オープン
#2,813 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
HTML
スター
25.5k
フォーク
4k
PR マージ指標
30日以内にマージされた PR はありません

説明

I have tried to test this, i believe arrow function doesn't look up for 'this', in the outer lexical environment, it remembers the 'this' of the place where it is defined.
In the below code: arrow function is passed to another function and that function calls the arrow function at line //**. At line //** 'this' is 'window', so if arrow function looks up for this in outer lexical environment, then 'this' should be window object, not cl_Test.
Hence, i believe the statement put by you in arrow functions revisited should be changed. Please correct me if i am wrong.

    function cl_Test() {

// let name = 'Pradeep';
this.name = 'Pradeep';
this.age = '31';

this.arrowF = () => {
console.log(`${this.name + ' ' + this.age}`);
};
this.normalF = function () {
console.log(name)
};
this.arrowF2 = () => {
console.log(name);
}
};

function fTest(f1) {
f1(); // **
};

let o1 = new cl_Test();
o1.name = 'Sunil';
o1.age = '34';

fTest(o1.arrowF); //*
fTest(o1.normalF);
fTest(o1.arrowF2);

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Start by reading the “arrow functions revisited” section referenced in the issue and compare its statement about how arrow functions obtain this with the supplied example. Verify the behavior of arrowF and normalF when passed to fTest, then update the explanation so it accurately describes lexical this.】【。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
documentation
issue の種類
ドキュメント
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。