teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ちょっとずつ修正

2019/03/04 12:43

投稿

miyabi-sun
miyabi-sun

スコア21461

answer CHANGED
@@ -3,6 +3,13 @@
3
3
  それはね、あなたがMDNでsuperに関して調べてないからよ。
4
4
  [super - MDN - Mozilla](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/super)
5
5
 
6
+ ITエンジニアとして成長したければリファレンスを読めという有り難い言葉があります。
7
+
8
+ しかし、JavaScriptはECMAScriptとして公開されている仕様がありますが、
9
+ これ読んでもちっとも頭に入ってこないんですよね。
10
+ ですがFirefox作っているMozillaという団体が作っているMDNというサイトが救世主なのです。
11
+ めっちゃ詳しい&正確なので、リファレンス代わりに目を通す癖を付けておくと良いです。
12
+
6
13
  > コンストラクター内で使用する場合、super キーワードを単独で置き、this キーワードが使われる前に使用しなくてはなりません。このキーワードは、親オブジェクトの関数を呼び出すためにも使用できます。
7
14
 
8
15
  つまり、`super()`と単独で使えるのはコンストラクター内だけです。
@@ -18,6 +25,9 @@
18
25
  `super()`だとコンストラクタメソッド発火になってしまうので、
19
26
  `super.info()`で実行してみてはどうですか?
20
27
 
28
+ ちらっと質問文のコードをデベロッパーツールのコンソールに貼り付けて、
29
+ `super`を`super.info`に書き換えただけで思ったような動作になりました。
30
+
21
- 別に私すごくはあませんがMDNというサイトは偉大なの
31
+ はりMDNというサイトは偉大でした
22
32
  JavaScriptの仕様部分で分からない事があったら目を通すだけの価値はあります。
23
- Googleで「super mdn」みたいなワードで調べたら一番上に出てきまた。
33
+ Googleで「super mdn」みたいなワードで調べたら一番上に出てきますので、調べい内容+MDNをつけるという小ネタは覚えておいてくださいね