javascriptのアロー関数におけるthisの挙動についてお尋ねしたいことがあります。
例えば下記のようなコードがあったとします。
let person3 = { firstname: "次郎", age: 21, getOlder: ()=> { this.age++; } } person3.getOlder(); console.log(person3);
私の予想だとageは22でしたが、確認した結果21でした。
アロー関数のthisは親スコープのthisを引き継ぐと教材で習いましたので
{ // 親ブロックスコープ { // 子ブロックスコープ } }
だとすれば、私の認識だと先程のコードは
let person3 = { // 親ブロックスコープ firstname: "次郎", age: 21, getOlder: ()=> { // 子ブロックスコープ this.age++; } } person3.getOlder(); console.log(person3);
であり、親ブロックに存在しているageを引き継ぎ、getOlderを実行すると思っていたのですが間違っているのでしょうか?わかりにくい質問で申し訳ありませんが、回答よろしくお願い致します。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。