signification du test (toto)? true : false ???

Le
Une Bévue
si j'ai :
var toto;
console.log(" typeof toto = "+(typeof toto));
console.log(" toto = "+(toto)? true : false );
toto=null;
console.log(" typeof toto = "+(typeof toto));
console.log(" toto = "+(toto)? true : false );

le résultat est true dans les deux cas :

typeof toto = undefined
true
typeof toto = object
true

(d'ailleurs la console Chrome déconne car elle "oublie" d'écrire 'toto =
')

donc, si j'ai un test :

if( toto )

qu'est-ce que ça donne dans les deux cas précédents ???

normalement, enfin ce que j'ai compris est que "undefined" donne false non ?
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Une Bévue
Le #23915121
Le 29/10/2011 07:13, Une Bévue a écrit :
si j'ai :
var toto;
console.log(" typeof toto = "+(typeof toto));
console.log(" toto = "+(toto)? true : false );
toto=null;
console.log(" typeof toto = "+(typeof toto));
console.log(" toto = "+(toto)? true : false );

le résultat est true dans les deux cas :

typeof toto = undefined
true
typeof toto = object
true

(d'ailleurs la console Chrome déconne car elle "oublie" d'écrire 'toto > '...)

donc, si j'ai un test :

if( toto )

qu'est-ce que ça donne dans les deux cas précédents ???

normalement, enfin ce que j'ai compris est que "undefined" donne false
non ?




bon, en fait, auto-réponse, si je fais :

console.log(" toto = "+((toto)? true : false) );
càd avec un parenthésage de +, ça roule...
Gildas
Le #23917071
On 29 oct, 07:51, Une Bévue
Le 29/10/2011 07:13, Une Bévue a écrit :









> si j'ai :
> var toto;
> console.log(" typeof toto = "+(typeof toto));
> console.log(" toto = "+(toto)? true : false );
> toto=null;
> console.log(" typeof toto = "+(typeof toto));
> console.log(" toto = "+(toto)? true : false );

> le résultat est true dans les deux cas :

> typeof toto = undefined
> true
> typeof toto = object
> true

> (d'ailleurs la console Chrome déconne car elle "oublie" d'écrire 't oto =
> '...)

> donc, si j'ai un test :

> if( toto )

> qu'est-ce que ça donne dans les deux cas précédents ???

> normalement, enfin ce que j'ai compris est que "undefined" donne false
> non ?

bon, en fait, auto-réponse, si je fais :

console.log(" toto = "+((toto)? true : false) );
càd avec un parenthésage de +, ça roule...



Enn prime vous pouvez même retirer les parenthèses autour de toto :
elles ne servent a rien.
Une Bévue
Le #23917741
Le 29/10/2011 19:57, Gildas a écrit :

console.log(" toto = "+((toto)? true : false) );
càd avec un parenthésage de +, ça roule...



Enn prime vous pouvez même retirer les parenthèses autour de toto :
elles ne servent a rien.



oui, c'est vrai, bonne remarque, merci !
Publicité
Poster une réponse
Anonyme