私はJavascriptとNode.jsが新しく、ECMAScript 6に従っていますが、コンストラクタメソッドでプロパティ定義を取得できません。それは古い書き込みスタイルで参照することができながら:コードの書き込み時にコンストラクタメソッドで定義されたプロパティを取得できませんECMAScript 6
'use strict'
function Animal (name) {
this.name = name
}
// Animal.prototype.walk = (destination) => {
// console.log(this.name + " walk to " + destination) //undefined walk to China
// }
Animal.prototype.walk = function (destination) {
console.log(this.name + " walk to " + destination) //Cat walk to China
}
const cat = new Animal("Cat")
cat.walk('China')
I want to know the reason, thanks!
矢印以外の機能は「古いスタイル」ではありません。彼らは異なったスタイルであり、異なる 'この'ルールを持っています。プロトタイプに物を添付したい場合は、関数式の使用を続けます。 'class'もES6に存在します。 – Ryan