为什么在类方法中使用时未定义我的实例属性?



尝试运行cow1.voice();时,我在控制台中不断收到错误。

捕获的引用错误:未定义类型

class Cow {
constructor(name, type, color) {
this.name = name;
this.type = type;
this.color = color;
};
voice() {
console.log(`Moooo ${name} Moooo ${type} Moooooo ${color}`);
};
};
const cow1 = new Cow('ben', 'chicken', 'red');

type和其他变量是类的实例变量,因此您需要使用this来访问它们。提供给构造函数的初始变量nametypecolor用于类初始化,在构造函数之外不可用。

class Cow {
constructor(name, type, color) {
this.name = name;
this.type = type;
this.color = color;
};
voice() {
// Access instance vars via this
console.log(`Moooo ${this.name} Moooo ${this.type} Moooooo ${this.color}`);
};
};

相关内容

  • 没有找到相关文章

最新更新