2017-01-09 18 views
0

なぜ矢印がこのウィンドウオブジェクトを返すのか、どのようにobjを返すのですか?ES6矢印機能

let obj = { 
    name:"Maxi", 
    fn :()=>this, 
} 

console.log(obj.fn()) 

答えて

2

なぜ矢印機能この戻りウィンドウオブジェクト

矢印機能は、作成された時点でthisの現在値をキャプチャしているため。

私は返す方法

OBJ

あなたがthisの現在値をキャプチャしたくない場合は、矢印機能を使用しないでください。

+0

なぜthis objを返しますか? せOBJ = { メンバー:[ "ムラド"、 "マキシ"]、 チーム: "ファッカーズ"、 FN:関数(){ 戻りthis.members.map(名=>本) }} console.log(obj.fn()) –

+0

'obj.fn()'が呼び出されたときの 'this'の現在の値は' obj'の値と同じであるためです。 – Quentin

+0

あまり意味がありません。もっと例を挙げてください – Martian2049

1

矢印機能では、thisはそれ自身のコンテキストにバインドされません。

矢印機能は独自のthisコンテキストを作成しないため、thisは、囲むコンテキストの元の意味がwindowになります。

関連する問題