我从另一个脚本中复制了这个(由我自己编写出于同样的目的),所以无法弄清楚它为什么没有按预期工作
} else if (new_var = message.toLowerCase().match(/!test\s(.+)/) && user === 'user') {
然后我将以下内容传递给message
!test test
所以我的理解是new_var
应包含以下内容
new_var[0] = !test test
new_var[1] = test
但是,console.log(new_var)
返回true
答案 0 :(得分:4)
您正在分配
的结果message.toLowerCase().match(/!test\s(.+)/) && user === 'user'
到new_var
,user === 'user'
可能会在您的情况下返回true
。
&&
的优先级高于=
。使用括号进行更改:
(new_var = message.toLowerCase().match(/!test\s(.+)/)) && user === 'user'