class SponsoredPost extends Post {
constructor(text, sponsor){
super(text);
this.likeCount = 10;
this.sponsor = sponsor;
}
this.likeCount = likeCount++; を追加してみたところ、likeCount is not defined となりました。この結果がよくわからず、this.likeCount =this.likeCount++; と変更したところ、posts[2].show(); にはlikeCount++ が反映されず 0 likes と表示されました。どの辺の理解ができていないのかご指摘頂けると助かります。
class SponsoredPost extends Post {
constructor(text, sponsor){
super(text);
this.likeCount = likeCount++;
this.sponsor = sponsor;
}
show() {
super.show();
console.log(`... sponsored by ${this.sponsor}`);
}
const posts = [
new Post('JavaScriptの勉強中…'),
new Post('プログラミング楽しい!'),
new SponsoredPost('3分動画でマスターしよう', 'dotinstall'),
];
posts[2].show();
本講義の内容で
super(text);は、を継承しているという元、以下のパターンを試してみました。
this.likeCount = 10;を追加した場合、親クラスと同じ変数名だと、子クラスの値が優先されるという認識でよろしいでしょうか。this.likeCount = likeCount++;を追加してみたところ、likeCount is not definedとなりました。この結果がよくわからず、this.likeCount =this.likeCount++;と変更したところ、posts[2].show();にはlikeCount++が反映されず 0 likes と表示されました。どの辺の理解ができていないのかご指摘頂けると助かります。