在我继续之前,我试图在Coffeescript中验证多个语句。
我有类似这样的基本内容:
if ext != 'jpeg' || ext != 'pdf' || ext != 'jpg'
alert('extension must be jpg, pdf, jpeg')
我在这里做错了什么?我是咖啡新手,并且认为基本的东西不应该这么做。
答案 0 :(得分:6)
CoffeeScript有一个in
operator,所以你可以说element in array
让逻辑变得更紧凑:
您可以使用
in
来测试数组存在,[...]
在你的情况下:
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');
}
而不是更昂贵的东西。
答案 1 :(得分:2)
您忘记添加&&
。
if ext != 'jpeg' && ext != 'pdf' && ext != 'jpg'
alert('extension must be jpg, pdf, jpeg')