簡體   English   中英

Discord.js 邏輯運算符不適用於我的 arguments

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM