为什么string.includes在Javascript中返回错误?

时间:2019-09-01 08:02:56

标签: javascript string

我正在尝试使用Java编写聊天机器人。我正在使用if语句来检查消息是否包含特定短语并缩小用户试图说的范围。我在运行时收到一条错误消息,内容为TypeError: toLowerMessage.includes is not a function,其中toLowerMessage是我要检查的字符串。

在创建变量时,我尝试添加.toString,但这没有用。我浏览了所有代码,没有发现任何特别之处。

这是我收到错误的代码行。

if(toLowerMessage.includes("hi") || toLowerMessage.includes("hello")) {

我希望if仅在.includes语句返回正数时继续。

3 个答案:

答案 0 :(得分:1)

toLowerCase不是属性,而是函数:

var toLowerMessage = message.content.toLowerCase();

您不需要toString,因为toLowerCase返回一个字符串。

还请注意,您的if语句可以简化,并且完全不需要使用该行:

if (message.content.test(/hi|hello/i)) {...}

答案 1 :(得分:0)

toLowercase是一个函数,因此将其更改为toLowerCase(),这样您的表达式应为

var toLowerMessage = message.content.toLowerCase();

ref https://www.w3schools.com/jsref/jsref_toLowerCase.asp

答案 2 :(得分:0)

var toLowerMessage = message.content.toLowerCase();

是您想要的。