2010-12-26 2 views

Répondre

6

Toutes les valeurs dans Javascript sont "vérité" ou "fausseté".

  • a && b évalue au premier opérande falsy
  • a || b évalue au premier opérande truthy

Les deux opérateurs n'évalueront les opérandes après celui du retour.
Si tous les opérandes ne correspondent pas, il sera évalué au dernier.

  • !a est évaluée à true si a est falsy et false si a est truthy.

Toutes les valeurs sont véridiques, sauf les suivantes:

  • false
  • 0
  • NaN
  • ""
  • null
  • undefined
+1

Il doit indiquer "Toutes les valeurs * sont véridiques ...", car c'est-à-dire "undefined" est une valeur, mais il y a aussi la variable "undefined" qui contient cette valeur, par défaut. Aussi 'NaN' n'est égal à rien, pas même à lui-même. –

+0

@Ivo: 1: Fixe. 2: Ce n'est pas pertinent. '! NaN' est' true', donc 'NaN' est faussement. – SLaks

+0

Toujours NaN == NaN est faux. Donc, c'est encore un cas spécial de la liste ci-dessus, on pourrait penser que NaN fonctionne comme toutes les autres valeurs de la falsification. –

1

Si vous voulez vérifier que deux de deux conditions sont truthy puis utilisez & &:

if (isX && isY) 
{ 
    // Do something. 
} 

Si vous voulez vérifier que un ou les deux de deux conditions sont véridiques alors utilisez ||:

if (isX || isY) 
{ 
    // Do something. 
} 

Le ! inverse un booléen (une valeur véridique devient fausse et vice versa).

+2

Qu'en est-il de 'document.write (" Cat "||" Dog ")'? – DarkLightA

+0

@DarkLightA: Je vous suggère de ne pas écrire de code comme ça! Cela provoque des conversions implicites et cela va embrouiller tout le monde. –

+1

D'accord, c'était dans MDC: D – DarkLightA

Questions connexes