comprobar coffeescript si no está en la matriz

78

Aquí hay algo simple de verificar si el usuario está en moderador. Pero quiero comprobar si el usuario no está en moderador.

if err && user in moderators
  return

Intuitivamente sería así

if err && user isnt in moderators
  return

Pero obviamente esto no funciona. ¿Cuál es la mejor manera de hacerlo?

Harry
fuente

Respuestas:

116

isntes el opuesto de is, que es el triple signo igual. Simplemente niegue in:

if err and user not in moderators
  return

o, usando postfix si :

return if err and user not in moderators
Licuadora
fuente
Oh, sí, las cosas tienen mucho más sentido ahora.
Harry
3
También puede usar ifen forma de sufijo para ordenar las cosas aún más: return if err and user not in moderators
bilalq
13

En CoffeeScript, NO se puede denotar como! o no

if err && !(user in moderators)

if err && user not in moderators

ambos funcionarían.

bobbybee
fuente
2
Si bien esto puede ser cierto, Coffeescript no es un superconjunto de JavaScript, por lo que no todo JavaScript es CoffeeScript válido.
Blender
Cierto. Pero en este caso creo que está bien (¿debería reformularlo?)
bobbybee
Quitaría la parte de JavaScript. Además, noty !son equivalentes en CoffeeScript.
Blender
Mmk - No uso el script de café de todos modos: 3
bobbybee