回答編集履歴
1
文言
answer
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
> `var Person = function({name='nameless'}){`
|
2
2
|
|
3
3
|
このようにコンストラクタを定義したからには、`Person()`の呼び出しには必ずオブジェクトの引数が必要です。エラーメッセージはそのことに文句を言っています。
|
4
|
+
JavaScriptには「名前付き引数」という機能はなく、これは「分割代入」なので引数は必要なのです。
|
4
5
|
|
5
6
|
ですが、そもそも`Hero.prototype = new Person();` がおかしいです。「javascript prototype 継承」で検索すると例がいくらでも見つかると思いますが、ここは`Hero.prototype = Object.create(Person.prototype);`とすべきでしょう。
|