2013-06-29 7 views
72

Ecco qualcosa di semplice da verificare se l'utente è in moderatore. Ma voglio controllare se l'utente non è in moderatore.controllo coffeescript se non in array

if err && user in moderators 
    return 

Intuitivamente sarebbe come questo

if err && user isnt in moderators 
    return 

Ma ovviamente questo non funziona. Qual è il modo migliore per farlo?

risposta

104

isnt è l'opposto di is, che è il segno di triple equals. Basta negare la in:

if err and user not in moderators 
    return 
+0

Oh sì, le cose ora hanno molto più senso. – Harry

+2

Puoi anche usare 'if' in forma postfix per riordinare le cose ancora: ' return if err e user not in moderators' – bilalq

11

In CoffeeScript, non può essere indicato come! o no

if err && !(user in moderators) 

if err && user not in moderators 

entrambi funzionerebbero.

+2

Mentre questo può essere vero, Coffeescript non è un superset di JavaScript, quindi non tutto JavaScript è valido CoffeeScript. – Blender

+0

Vero. Ma in questo caso penso che vada bene (dovrei riformularlo?) – bobbybee

+0

Rimuoverei la parte JavaScript. Inoltre, 'not' e'! 'Sono equivalenti in CoffeeScript. – Blender