问题描述
我想测试我的类中的函数是否返回给定的句子。但是如果我尝试使用 console.log
进行测试,它会返回 ReferenceError: rev is not defined
。我做错了什么?
class store {
constructor(revenue,workers) {
this.revenue = revenue;
this.workers = workers;
}
}
class storeManager extends store {
constructor(name) {
super(revenue,workers);
this.name = name;
}
rev() {
return "The stores revenue is" + this.revenue;
}
hiredWorkers() {
return "The store has" + this.revenue + "workers";
}
};
console.log(rev())
我是一个相当新的程序员,所以如果这是一个愚蠢的问题,请耐心等待。
解决方法
类的全部意义在于提供一个模板来将功能捆绑到一个自包含的对象中,并且不是对所有内容都具有全局变量。
rev
是出现在类的实例上的方法。这不是全球性的。
你必须创建一个类的实例:
const myInstance = new StoreManager("some value for name");
(请注意,这将失败,因为您的构造函数调用 super()
并尝试传递构造函数方法中不存在的变量的值)。
...然后调用该方法:
const result = myInstance.rev();