表記の通り、オブジェクトの中にメソッド名として登録した関数をアロー関数として
表現したいと思ったのですが、エラーが出て実行することができません。
まず、アロー関数を使用せず普通の関数を使う方法が下記
JavaScript
1let user = { 2 name:"ほげ太郎", 3 age:22, 4 address:"ほげ市", 5 hobby:["寝ること","食べること"], 6 getAge:function(){ 7 return this.age; 8 } 9} 10console.log(user.getAge()); 11
これは問題ありません。
次がアロー関数を使用して書き換えたものです。
JavaScript
1let user = { 2 name:"ほげ太郎", 3 age:22, 4 address:"ほげ市", 5 hobby:["寝ること","食べること"], 6 getAge:()=>this.age; 7} 8console.log(user.getAge()); 9 10
this.ageのところにエラーが出ておりまして、
thisのところのエラーは下記。
The containing arrow function captures the global value of 'this'.
また、ageの部分のエラーは下記。
Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature.
ソースコードの実行環境はTypeScript Playgroundを使用しております。
どなたかご教示いただけませんでしょうか?
回答3件
あなたの回答
tips
プレビュー