sapakus
Messages postés96Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention10 février 2011
-
6 juin 2008 à 12:09
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
6 juin 2008 à 16:19
function is(x){return!!(x= ==0 ||x );}
Bonjour, que fait cette fonction ? Je pense qu'elle teste l'existence d'une variable d'aprés son nom, mais j'avoue que je ne vois pas bien son fonctionnement !
Pour moi la condition (x ===0||x) signifie "x est égal (en type et valeur) à 0 ou x a une autre valeur(qui renvoie true)"
Mais la où je bloque c'est à la double négation (!!) D'ailleurs en est-ce bien une ? Car pourquoi écrire une double négation ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 6 juin 2008 à 13:37
je pense que sapakus parlait des !! juste derrière le return,
pas des || dans la parenthèse maelob.
ce qui permet de ne pas retourner undefined ici, enfin... au moins, je pense ;o|
<hr /> Cordialement Bul [mon Site] [M'écrire]
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 6 juin 2008 à 13:45
les yeux... après les dents ?
c'est un message subliminal et perso à maelob que peu peuvent comprendre ;o))
ou alors, uniquement si je leur passe ma boule de cristal....
<hr /> Cordialement Bul [mon Site] [M'écrire]
sapakus
Messages postés96Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention10 février 20113 6 juin 2008 à 15:23
Merci pour ces réponses.
J'ai maintenant vu où se trouve l'ambiguïté.
En effet, en logique on a : !!(A||B)= (A||B)
Mais ici les propositions ne renvoient pas forcément true ou false d'où l'astuce de la double négation.
Ceci étant je n'ai pas trouvé de cas où on ne peut pas remplacer :
function is(x){return!!(x ===0||x);}
par
function is(x){return!!(x+1);}
qui donne la même chose avec le test de bultez !
Le is() renvoi !!(NaN) donc false.
Et je ne vois pas à quoi cette fonction pourrai servir d'autre.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 6 juin 2008 à 15:46
>>sujet intéressant
maelob++ ==>et pas simple
>>plein de bonne choses a glaner
petoleTeam++ ==> et pas que !!
>>...ne renvoient pas forcément true ou false d'où l'astuce de la double négation
sapkus++ ==> avec !!, on est sûr que le retour est true ou false
par ordre alphabétique...
<hr /> Cordialement Bul [mon Site] [M'écrire]