JavaScriptのプロトタイプチェーンと継承についてはかなり混乱しています。たとえば、Date()オブジェクトには、Date.now()
などのメンバーメソッド/関数があります。それで、なぜDate()オブジェクトの新しいインスタンスを作成し、now()メソッドを呼び出すとエラーになるのですか? new Date.now()
しかし、getTime
のようなプロトタイプメソッドを呼び出すときは、new Date().getTime()
の呼び出しは機能しますが、新しいインスタンスを作成することなくDate().getTime()
を呼び出すことはできません。何故ですか?オブジェクトのプロトタイプが元のオブジェクトの一部になるという理解がありましたか?たとえば :プロトタイプとクラス/コンストラクタ/オブジェクトメンバ
function Person(firstName, lastName) {
this.firstname = firstName;
this.lastname = lastName;
this.getfirstName =() => {
return this.firstName;
}
}
Person.prototype.getlastName =() => {
return this.lastName;
}
は、プロトタイプの方法がPerson
のメンバーメソッドとなり、getlastName
ませんが、それが日のためのgetTime()()を使用しなければならないかのようnew
キーワードを使用せずにアクセスすることができますか?
'getLastName'は、それがインスタンスに作用を意味this.lastName'た'戻っています。チェックアウトhttp://javascriptissexy.com/javascript-prototype-in-plain-detailed-language/それはいくつかのことをクリアするかもしれません。 –