お世話になります。
ソースコード8‐10行目のposts[0]のshowについて、
show: function() {
console.log(`${this.text} - ${this.likeCount}いいね`);
};
の部分を、アロー関数で書こうとし、次のようにしてみました。
show: () => {
console.log(`${this.text} - ${this.likeCount}いいね`);
};
そのうえで、
posts[0].show();
で実行したのですが、コンソールには、
undefined - undefinedいいね!
と出てきて、post[0]のtextやlikeCountと紐づかないようです。
function() {}と、() => {} は同じように使えると理解していたのですが、そうではないのでしょうか。
上記のように、
show: () => {
console.log(`${this.text} - ${this.likeCount}いいね`);
};
とした場合のthisの関係がどうなっているのかと、この場合にアロー関数を用いた書き方ができるならその書き方を質問させてください。
この回答を見るにはプレミアムプランへの登録が必要です
プレミアムプランとは?