Javascript 为什么是";口渴“;方法对我的课不起作用?
我不确定为什么口渴法没有返回真值。没有更多的话要说,但函数本身对我来说似乎很好,但却抛出了一个类型错误Javascript 为什么是";口渴“;方法对我的课不起作用?,javascript,Javascript,我不确定为什么口渴法没有返回真值。没有更多的话要说,但函数本身对我来说似乎很好,但却抛出了一个类型错误 class Vampire { constructor(name, pet) { this.name = name; if (pet === undefined) { this.pet = 'bat'; } else { this.pet
class Vampire {
constructor(name, pet) {
this.name = name;
if (pet === undefined) {
this.pet = 'bat';
} else {
this.pet = pet;
}
}
thirsty() {
return true
};
}
它没有通过这个测试:
it('should have vampire return true if thirsty', function() {
var vampire = new Vampire('Andy');
assert.equal(vampire.thirsty, true);
});
你不能这样调用吸血鬼。口渴,因为口渴不是一个静态方法。您需要创建
类的新实例
,或者将口渴
方法声明为静态:
静态方式:
class吸血鬼{
建造师(姓名、宠物){
this.name=名称;
如果(pet==未定义){
this.pet='bat';
}否则{
this.pet=pet;
}
}
静态口渴(){//声明为静态
返回真值
};
}
console.log(吸血鬼口渴())
您不能这样调用吸血鬼。口渴
,因为口渴
不是静态方法。您需要创建类的新实例
,或者将口渴
方法声明为静态:
静态方式:
class吸血鬼{
建造师(姓名、宠物){
this.name=名称;
如果(pet==未定义){
this.pet='bat';
}否则{
this.pet=pet;
}
}
静态口渴(){//声明为静态
返回真值
};
}
console.log(吸血鬼口渴())代码>只要创建类的新实例,它就可以正常工作:
class吸血鬼{
建造师(姓名、宠物){
this.name=名称;
如果(pet==未定义){
this.pet='bat';
}否则{
this.pet=pet;
}
}
口渴的{
返回真值
};
}
var pet=新吸血鬼('boo');
console.log(pet.quirty())代码>只要创建类的新实例,它就可以正常工作:
class吸血鬼{
建造师(姓名、宠物){
this.name=名称;
如果(pet==未定义){
this.pet='bat';
}否则{
this.pet=pet;
}
}
口渴的{
返回真值
};
}
var pet=新吸血鬼('boo');
console.log(pet.quirty())代码>在您的测试中,您错误地比较了函数渴
和真
assert.equal(吸血鬼、口渴、真)代码>
您没有调用口渴
并检查返回值
您需要像这样调用该方法:
assert.equal(吸血鬼口渴(),true)代码>在测试中,您错误地比较了函数quirty
和true
assert.equal(吸血鬼、口渴、真)代码>
您没有调用口渴
并检查返回值
您需要像这样调用该方法:
assert.equal(吸血鬼口渴(),true)代码>但仍会抛出一个类型错误。
错误到底说明了什么?你如何使用这个类?我无法重现你的错误。似乎工作正常console.log(new Vampire('a','b').quirty())
@tkauslUncaught TypeError:Vampire.quirty在:1:9不是一个函数,它只是为了一个“挑战”,我正在做的只是让我创建一个名为quirty的方法,如果调用该方法,该方法将返回true。那么你还没有创建吸血鬼的(实例)?@tkausl抱歉,是的,我没有注意到。。。当我创建它的实例时,它确实起作用。。。由于某种原因,它不工作,在这个摩卡/柴测试的东西,我需要运行它通过。。。哦,好吧。但是抛出了一个类型错误。
错误到底说了什么?你如何使用这个类?我无法重现你的错误。似乎工作正常console.log(new Vampire('a','b').quirty())
@tkauslUncaught TypeError:Vampire.quirty在:1:9不是一个函数,它只是为了一个“挑战”,我正在做的只是让我创建一个名为quirty的方法,如果调用该方法,该方法将返回true。那么你还没有创建吸血鬼的(实例)?@tkausl抱歉,是的,我没有注意到。。。当我创建它的实例时,它确实起作用。。。由于某种原因,它不工作,在这个摩卡/柴测试的东西,我需要运行它通过。。。哦,好吧。傻尼克,可怜的弗拉德是一只狗,不是吸血鬼。@FrankerZ他是一个叫弗拉德的吸血鬼,带着一只宠物狗:PSilly Nick,可怜的弗拉德是一只狗,不是吸血鬼。@FrankerZ他是一个叫弗拉德的吸血鬼,带着一只宠物狗:呸,是的,我也试过把它做成财产。。。从我身边溜走了。。。谢谢你的帮助!当有疑问时,console.log()
。你会看到,吸血鬼。口渴
是一个函数,不是真的,这应该表明你调用它的方式有问题。啊,是的,我也尝试过让它成为属性。。。从我身边溜走了。。。谢谢你的帮助!当有疑问时,console.log()
。你会看到,吸血鬼.口渴
是一个函数,不是真的,这应该表明你如何调用它有问题。