1

私はes6katas.orgで ECMAScript6 を学んでいます。これは素晴らしく、強くお勧めします。私は現在、矢印関数に関するこのかなり基本的なカタで立ち往生しています。2番目のテストで作者が何を意味しているのか理解できないようです。

class LexicallyBound {

    getFunction() {
        return () => {
              return new LexicallyBound();
        }
    }

    getArgumentsFunction() {
        return function() {return arguments}
    }

}

it('bound at definition time, use `=>` ', function() {
    var bound = new LexicallyBound();
    var fn = bound.getFunction();

    assert.strictEqual(fn(), bound);
});

誰かがそれを理解するのを助けることができますか?

4

1 に答える 1

5

getFunction戻るように変更して欲しかったと思いますthis

理由: ファット アロー関数は、通常の関数のような動的ではなく、定義時 (作成時) にthis定義コンテキスト (boundオブジェクト) にバインドされます。boundthis

于 2015-09-27T17:26:36.650 に答える