Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

3 réponses
Avatar
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 ?

3 réponses

Avatar
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 '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...
Avatar
Gildas
On 29 oct, 07:51, Une Bévue wrote:
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.
Avatar
Une Bévue
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 !