Coffeescript中的多个或in IF语句

Coffeescript中的多个或in IF语句,coffeescript,Coffeescript,在继续之前,我正在尝试验证Coffeescript中的多个语句 我有一些基本的东西,比如: if ext != 'jpeg' || ext != 'pdf' || ext != 'jpg' alert('extension must be jpg, pdf, jpeg') 我做错了什么?我对咖啡还不熟悉,我认为像这样基本的事情应该不难做到 您忘记添加&& if ext != 'jpeg' && ext != 'pdf' && ext != 'jpg

在继续之前,我正在尝试验证Coffeescript中的多个语句

我有一些基本的东西,比如:

 if ext != 'jpeg' || ext != 'pdf' || ext != 'jpg'

     alert('extension must be jpg, pdf, jpeg')

我做错了什么?我对咖啡还不熟悉,我认为像这样基本的事情应该不难做到

您忘记添加
&&

if ext != 'jpeg' && ext != 'pdf' && ext != 'jpg'
     alert('extension must be jpg, pdf, jpeg')

您忘记添加
&&

if ext != 'jpeg' && ext != 'pdf' && ext != 'jpg'
     alert('extension must be jpg, pdf, jpeg')
CoffeeScript有一个数组,因此您可以说数组中的
元素
,以使逻辑更加紧凑:

您可以在中使用
来测试是否存在阵列,[…]

就你而言:

if ext !in ['jpeg', 'pdf', 'jpg']
    alert('extension must be jpg, pdf, jpeg')
当前的CoffeeScript编译器足够智能,可以识别该模式并生成以下JavaScript:

if (ext !== 'jpeg' && ext !== 'pdf' && ext !== 'jpg') {
  alert('extension must be jpg, pdf, jpeg');
}
而不是更昂贵的东西。

CoffeeScript有一个数组,因此您可以说数组中的
元素
,使逻辑更加紧凑:

您可以在
中使用
来测试是否存在阵列,[…]

就你而言:

if ext !in ['jpeg', 'pdf', 'jpg']
    alert('extension must be jpg, pdf, jpeg')
当前的CoffeeScript编译器足够智能,可以识别该模式并生成以下JavaScript:

if (ext !== 'jpeg' && ext !== 'pdf' && ext !== 'jpg') {
  alert('extension must be jpg, pdf, jpeg');
}

而不是更昂贵的东西。

应该是
&
)而不是
|
(ext!=“jpeg”| ext!=“pdf”| ext!=“jpg”)=(true)
。您的意思是,它可以是除
'jpeg'
之外的任何内容,也可以是除
'pdf'
之外的任何内容。。。如果你想一想,这意味着它可以是
'jpeg'
'pdf'
或其他任何东西。应该是
&&
)而不是
|
(ext!=“jpeg”| ext!=“pdf”| ext!=“jpg”)=(true)
。您的意思是,它可以是除
'jpeg'
之外的任何内容,也可以是除
'pdf'
之外的任何内容。。。如果你想一想,这意味着它可以是
'jpeg'
'pdf'
或其他任何东西。很抱歉,我最初是用Javascript编写的!你是对的,我现在已经更正了CoffeeScript的代码,很抱歉我最初是用Javascript编写的!你是对的,我现在已经更正了CoffeeScript的代码很高兴知道。即使我没有数组,它也能工作吗?我不想构建一个数组,只是为了循环并验证值。似乎有点多余的代码数组只存在于CoffeeScript版本中,数组文本在转换为JavaScript时将内联扩展<[a,b,c]中的code>e只是表示
e==a | | e==b | | e==c
的较短方式。很高兴知道。即使我没有数组,它也能工作吗?我不想构建一个数组,只是为了循环并验证值。似乎有点多余的代码数组只存在于CoffeeScript版本中,数组文本在转换为JavaScript时将内联扩展<[a,b,c]中的code>e只是表示
e==a | | e==b | | e==c的较短方式。