[英]Discord.js logical operator isn't working with my arguments
我試圖讓我的機器人在第一個 arg 不是我放置的選項之一時返回一條消息,但它不起作用並且即使 arg 是紅色或藍色也會繼續發送消息
if(args[0] !== 'red' || 'blue') return message.channel.send('That isn\'t a valid color')
在您的代碼中: args[0] !== 'red' || 'blue'
args[0] !== 'red' || 'blue'
, !==
運算符的優先級高於||
,所以它的行為類似於(args[0] !== 'red') || 'blue'
(args[0] !== 'red') || 'blue'
。
這在 JS 中是完全有效的,因為||
如果找到,運算符將返回非布爾操作數。
如此true || 'blue' == true
true || 'blue' == true
和false || 'blue' == 'blue' == true
false || 'blue' == 'blue' == true
一種解決方案:
if(args[0] !== 'red' && args[0] !== 'blue')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.