Exercice 9/38
Soit 3 variables var1
, var2
, var3
déjà définies et qui contiennent une valeur.
Dans le fichier "index.html"
entre les balises <script></script>
:
- déclarez 3 variables
test1
,test2
,test3
; - vérifiez le type de
var1
,var2
,var3
et stockez le résultat respectivement danstest1
,test2
,test3
; - cliquez sur "Soumettre ma réponse".
Leçon 9/38
Vous avez déjà vu quatre types de variables :
- la chaîne de caractères (type "string");
- la valeur numérique (type "number");
- le booléen (type "boolean");
- le type "undefined";
Il existe un dernier type que vous verrez plus loin dans le cours.
Il peut s'avérer utile dans votre script de pouvoir vérifier de quel type est une variable. Cela se fait avec la commande typeof
.
typeof
retourne une chaîne de caractères contenant le type de la variable testée. Elle peut s'utiliser comme cela :
var maVariable = 10;
alert(typeof maVariable); // Affiche "number"
Commentaires les mieux notés
mohamadoubachirououmar
nkeshimanabrice-37
je ne vois pas l'erreur...pouvez-vous me corriger...
willy.julan
bonjour, pourquoi quand je stock le résultat dans la variable en affichant la variable cela me met undefined ? pourtant je fais bien ex: test1 = alert(typeof var1); alert(test1);
mram Administrateur
Bonjour, l'énoncé dit que les variables var1, var2 et var3 sont déjà définies et possèdent déjà une valeur. Il suffit juste les utiliser, et non de les déclarer à nouveau.
90 Commentaires
mohamadoubachirououmar
Je suis bloqué index.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE HTML> <html> <head> <title>Tester le type d'une variable </title> </head> <body> <script> var test1=(typeof var1); var test2=(typeof var2; var test3=(typeof var3); </script> </body> </html> JSResetSoumettrele 19/01/2018 à 18h57
mram Administrateur
Bonjour, il n'y a pas besoin des parenthèses.
le 22/01/2018 à 11h30
willy.julan
bonjour, pourquoi quand je stock le résultat dans la variable en affichant la variable cela me met undefined ? pourtant je fais bien ex: test1 = alert(typeof var1); alert(test1);le 29/06/2016 à 15h50
mram Administrateur
Bonjour, l'énoncé dit que les variables var1, var2 et var3 sont déjà définies et possèdent déjà une valeur. Il suffit juste les utiliser, et non de les déclarer à nouveau.
le 29/06/2016 à 18h03
mram Administrateur
Votre code est presque bon. Il suffit d'affecter ce que retourne "typeof xxx" à la variable "test" correspondante.
le 05/03/2017 à 10h53
willy.julan
bonjour, ok cela je l'avais rectifier, mais malgré cela il me met encore le message si j'ai mis le résultat de la syntaxe typeof var1 dans la variable test1 et ainsi de suite pour les autres variables .... l'affectation se fait bien en bien de cette manière ? ===> var test1 = alert(typeof var1); ou var test1; test1=alert(typeof var1);le 30/06/2016 à 12h30
mram Administrateur
Tout dépend comment on interprète l'énoncé, mais dans les exercices ceci "Soit 3 variables var1, var2, var3 déjà définies et qui contiennent une valeur." veut dire que nous avons déjà déclaré les variables et attribué une valeur, donc pas besoin de le refaire. Il est donc normal que ça fonctionne si vous avez supprimé ce que vous avez écrit en trop par avant.
le 15/01/2017 à 23h30
willy.julan
ok je comprends bien pour les alerts, ils étaient la pour tester le fonctionnait, j'ai enlevé ... mais cela n’empêche pas le message d'erreur qui me demande si j'ai bien affecté les résultats des typoef des variables var(x) dans les variables test(x), se qui semble être le cas pour moi !le 30/06/2016 à 19h51
mram Administrateur
Les deux affectations fonctionnent. La première est simplement plus courte à écrire. Par contre, en aucun cas il est demandé d'utiliser alert() pour voir le résultat dans les instructions, même si c'est indiqué dans la partie "explication" de l'énoncé à titre d'exemple.
le 30/06/2016 à 14h05
psinparis
On pourrait supposer qu'il faut déclarer var1, var2, et var3, puisque malgré le texte elles ne sont nulle part définies, mais en fait non. Autant les mettre dans l'exemple au départ, et ainsi je pense que la plupart des difficultés rencontrées sur cet exercise disparaîtraient. (Sinon j'ai du mal comprendre quelque chose, mais en tout cas en les supprimant ça marche.)le 13/01/2017 à 12h04
mram Administrateur
Normal, dans les instructions il n'est pas indiqué qu'il faut utiliser alert(), et il y en a encore dans votre code ...
le 30/06/2016 à 21h41
cedruyne
Bizarre, il me semble que mon code est correct : var var1 = 1, var2 = "test", var3 = true; var test1 = typeof var1, test2 = typeof var2, test3 = typeof var3; alert(test1 + " " + test2 + " " + test3);le 19/01/2017 à 14h22
cedruyne
Au temps pour moi, j'avais mal interprété l'énoncé. En supprimant la déclaration des var 1 à 3 cela valide bien l'exercice.le 19/01/2017 à 14h28
ludovicbonpoil
Ça bug sévère et l'énoncé n'est pas clair ou j'ai rien compris ! En suivant, ce qui disent les autres j'ai fini par faire : <script> var test1=alert(typeof var1); var test2=alert(typeof var2); var test3=alert(typeof var3); </script> Mais rien ne fonctionne, même avec alert(test1); alert(test2); alert(test3); ça me met undefined. Je passe à la suite...le 30/11/2016 à 18h59
mram Administrateur
@cedruyne : oui c'est une erreur courante.
le 22/01/2017 à 23h50
pascal-ds
Dans l'index, les variables Var1,2,3 ne sont pas déclarées. Si on ne le fait pas, le type renvoyé est undefined. J'ai donc redéclaré les 3 valeurs. Il n'est effectivement pas demandé d'utiliser alert, mais cela aide bien pour vérifier. Apparemment, l'instruction fonctionne puisque mon code renvoie numbernumbernumber, c'est donc que le résultat est bien affecté à test1, 2, 3. Pourtant le correcteur me demande si j'ai bien affecté une valeur à test 1 et test 3 (mais pas à 2) so what ?le 18/08/2016 à 11h53
ludovicbonpoil
En faite il n'y a pas besoin d'alert...le 30/11/2016 à 22h49
mram Administrateur
Les variables var1,2,3 sont déjà déclarées, elles existent et contiennent une valeur : mais pas forcément une valeur de type "number" pour chacune d'elles. Or vos variables test1,2,3 récupèrent toutes "number" (à cause de vos variables var1,2,3 réécrites alors qu'il n'y a pas besoin de le faire).
le 19/08/2016 à 15h25
pascal-ds
si j'enlève les var réécrites, j'obtiens undefined partout et...c'est la bonne réponse. Oo. Je ne comprends pas le message d'erreur toutefois, la valeur des variable n'affecte pas la justesse du code qui suit... mais ce n'est sans doute pas ce qu'attend le robot :)le 20/08/2016 à 10h59
mram Administrateur
Votre premier code est incorrect, il ne faut en effet pas utiliser alert() mais simplement affecter aux variables "test" le type des variables "var" avec typeof.
le 02/12/2016 à 13h21
abdo7219
bonjour j ai pu valider avec se code <!DOCTYPE HTML> <html> <head> <title>Tester le type d'une variable</title> </head> <body> <script> var test1 = typeof var1; var test2 = typeof var2; var test3 = typeof var3; alert(typeof var1); alert(typeof var2); alert(typeof var3); </script> </body> </html>le 02/05/2017 à 16h45
mram Administrateur
Bizarre en effet, ça ne devrait pas être undefined. Je vais regarder ça...
le 23/08/2016 à 00h13
cdezandee
bonjour, Je met: var var1 = 1; var var2 = true; var var3 = "texte"; var test1 = typeof var1; var test2 = typeof var2; var test3 = typeof var3; l'erreur s'affiche tojours alors que je teste alert(test1) ça fonctionne.le 12/11/2016 à 12h34
pierre.de.renty
Cet exercice était vraiment très confusant, et assez inutile je trouve. J'ai bloqué pendant un quart d'heure pour finalement trouver que la réponse attendue par le correcteur auto était juste : <script> var test1 = "string"; var test2 = "number"; var test3 = "boolean"; </script> Ce qui n'est pas indiqué dans l'énoncé. En plus, j'ai travaillé en invité depuis un moment sans m'en rendre compte car le site m'a logout sans l'avoir vu donc ça n'a pas sauvegardé ma progression :'(le 04/12/2016 à 11h45
oliver-thomas
Bon c'est bien! j'ai réussi... mais je ne comprend pas du tout l'utilité de cette formule... je ne comprend pas du tout ce que j'ai fait pour cet exercice.le 10/04/2017 à 23h58
Biche Tordue
encore une fois l'exercice dit que les variable var1 var2 et var3 sont déjà définit alors qu'elle ne sont pas présente dans le code.le 29/05/2017 à 16h18
mram Administrateur
Le but de l'exercice est d'utiliser "typeof" pour vérifier le type des variables "var1 "var2" "var3". Mais vous ne l'utilisez pas... Exemple: var test1 = typeof var1
le 06/12/2016 à 00h11
mram Administrateur
Bonjour, votre code lignes 8 à 10 est inutile car les variables existent déjà et contiennent déjà une valeur. Il suffit juste de les utiliser.
le 14/11/2016 à 18h29
line.lagarde
Je désespère après plusieurs heures à me casser la tête. Aidez moi svp à trouver ce qui m'échappe!le 05/06/2016 à 22h45
mram Administrateur
Il faut par exemple attribuer à "test1" le résultat de "typeof var1" et ensuite afficher test1 avec alert(). Idem pour les deux autres.
le 06/06/2016 à 00h25
Timo
Bonjour, en utilisant alert() comme cité dans l'exemple, on obtient undefined pour les var1,2 et 3. J'ai donc codé en mettant les réponses undefined pour chaque test1,2 et 3. Hélas, il me demande si j'ai bien mis le résultat du type de var1 dans test1 et pareil pour le 2 et 3. Voici mon code : <script> var test1=undefined; var test2=undefined; var test3=undefined; </script>le 09/09/2016 à 21h58
Timo
J'ai réussi à obtenir le type "string" pour var1 en écrivant alert(typeof "var1"); donc en mettant des guillemets pour var1. Depuis, le bouton pour exécuter javascript ne marche plus chez moi :/le 09/09/2016 à 22h15
yentrang.huynh
Bonjour, mon code est bon (exercice validé) mais les valeurs retournées par le script pour les var1 var2 et var3 sont toujours undefined. <script> var test1 = typeof var1; var test2 = typeof var2; var test3 = typeof var3; alert(test1 + test2 + test3); </script>le 17/03/2017 à 20h18
dim.karol
voici la reponse. Pour ceux qui cherchent pendant des heures. var test1=typeof var1 var test2=typeof var2 var test3=typeof var3le 19/03/2017 à 23h26
mram Administrateur
Le but de cet exercice est de récupérer le type de chaque variable var1 ... et de stocker le résultat dans test1 ...
le 18/04/2017 à 13h12
mram Administrateur
@yentrang.huynh : votre code est correct c'est le principal :)
le 21/03/2017 à 17h32
mram Administrateur
Votre code est incorrect. Dans l'exemple il y a alert(), mais c'est pas demandé dans les instructions. Faites juste ce qui est demandé.
le 13/09/2016 à 18h19
mram Administrateur
Les variables sont déclarées dans un script en amont de votre script.js .
le 01/06/2017 à 16h18
patricerameaux
encore une fois entre l'exemple et la solution il y a une utilisation complètement différente et non-implicite, et ça continue ...le 04/10/2016 à 14h12
mram Administrateur
Qu'auriez vous attendu comme utilisation implicite ? Vous avez réussi l'exercice donc la notion a été comprise, que souhaiteriez-vous de plus ici ?
le 04/10/2016 à 16h30
tlemsani_r
bonjour, je ne comprends pas très bien la consigne. Vous est-il possible de me donner davantage de détail ? Mercile 01/03/2017 à 14h47
hellwyn6
Bonjour, petit soucis, je ne vois pas ce qui va pas dans mon code :/ j'ai testé les 3 et fais exactement la même chose pour chacune mais ça me dit que j'ai pas mis var2 dans test2 et var3 dans test3.le 03/09/2018 à 00h19
mram Administrateur
Bonjour, relisez l'énoncé : il faut utiliser tyoeof pour tester chaque variable séparément.
le 10/09/2018 à 03h32
baillylaurine13
Malgré que j'ai validé l'exercice ne comprends pas où s'affiche le résultat de typeof. Pourtant mon le bouton pour afficher javascript est activé ?!le 30/10/2017 à 16h49
mram Administrateur
Bonjour, c'est normal. Ce code n'affiche rien mais effectue bien ce qu'on lui demande : récupérer le type des variables var1 ... et stocker la valeur de retour dans les variables test1 ...
le 31/10/2017 à 23h16
Dave
Sérieusement, ces exos sont super mals expliqués, les variables déjà déclarées ça met l'utilisateur en confusion totale.le 02/10/2017 à 01h37
JUBERT.BRUNO0602
je suis largué la ... on declare bien avec var ?le 21/01/2018 à 16h08
mram Administrateur
Oui, mais "var1" "var2" "var3" sont des noms de variables et pas une déclaration de variable 1, 2 ou 3.
le 22/01/2018 à 11h52
alex.schmitt79-17
var test1= typeof var1 var test2= typeof var2 var test3= typeof var3le 04/05/2018 à 13h28
mram Administrateur
Bonjour, vous oubliez le ; à la fin des instructions.
le 09/05/2018 à 06h03
soacynthiasoa-62
var test1= typeof var1; var test2= typeof var2; var test3= typeof var3;le 01/06/2018 à 17h10
carole.bureau123-44
oups! oublié de dire que je cherche la solution .... un énigmele 26/03/2018 à 00h28
mram Administrateur
Bonjour, ce n'est pas typeeof mais typeof.
le 28/03/2018 à 06h06
parigi38-3
Bonjour, pas besoin de se compliquer la vie. Il faut respecter les consignes au plus simple : on part du principe que les "var" existent déjà ; pas besoin d'"alert" ; donc seulement : "var test1 = typeof var1; var test2 = typeof var2; var test3 = typeof var3;"le 23/04/2018 à 12h47
mram Administrateur
C'est ça :)
le 29/04/2018 à 02h33
CodyLeCodingue
SI VOUS BUGUEZ C'EST PROBABLEMENT A CAUSE DU FAIT QU'IL NE FAUT PAS DECLARER LES VARIABLES PUISQUE L'ADMIN DU SITE L'A DEJA FAIT --- Soit 3 variables var1, var2, var3 déjà définies et qui contiennent une valeur.le 17/09/2017 à 20h05
mram Administrateur
C'est ça :) c'est indiqué en début d'énoncé quand c'est le cas.
le 20/09/2017 à 15h28
ethereum
Je suis rester bloquer 10 minutes sur cet exo.. ne déclarer pas les variable var1 et ainsi de suite elle sont déjà déclarer sans même être déclarer à l'oeil nue (Pour les administrateurs sachez que nous ne voyons aucune variable var1 et ainsi de suite avec ou sans compte sur différent navigateur)le 27/12/2017 à 10h04
mram Administrateur
Bonjour, il est normal que vous ne voyez pas les variables initialisées en amont de votre code, sinon vous pourriez résoudre les exercices sans vraiment les faire. Il vous suffit de faire ce qui est demandé avec ces variables.
le 30/12/2017 à 12h20
djamchid Administrateur
quel est l'intérêt de faire les choses trois fois?
le 25/08/2017 à 17h18
DuckPixl
je n'ai rien compris x)le 18/06/2018 à 15h08
mram Administrateur
Votre code est correct. Qu'est ce que vous n'avez pas compris ?
le 24/06/2018 à 05h21
m.benamara94
Il serait bien de revoir le descriptif de l'énnoncé car cela n'est pas trés claire.le 18/12/2017 à 22h15
mram Administrateur
Bonjour, les variables var1 var2 var3 existent déjà, donc pas besoin de les déclarer à nouveau. Il faut juste les tester avec "typeof" .
le 23/12/2017 à 16h21
thomas.chalanson
daccord avec Dave, c'est pas le premier exercice mal expliqué sans compter ceux non mis à jour, dommagele 21/10/2017 à 15h19
mram Administrateur
Bonjour, qu'est ce qui est mal expliqué ? Vous avez réussi l'exercice après 3 tentatives, c'est plutôt rapide.
le 25/10/2017 à 14h59
volam
je suis bloqué merci de m'aider var1=test1; var2=test2; var3=test3;le 05/08/2017 à 14h58
mram Administrateur
Bonjour, attention au début vous n'aviez pas utilisé typeof, or c'est nécessaire.
le 09/08/2017 à 10h55
djalloh2016-72
en programmation plusieurs solutions pour arriver à bon port voici une parmi tant d'autres:le 24/02/2018 à 18h55
djalloh2016-72
la solution trop banale: var test1 = typeof var1; var test2 = typeof var2; var test3 = typeof var3; alert(test1); alert(test2); alert(test3);le 24/02/2018 à 18h56
chantal.ferrand1-76
Alambiqué les leçons/exercices. A la leçon 6 on nous disait que la variable"text" était déjà définie alors qu'il a fallu la déclarer pour ne pas être bloquée et là la même chose, sauf qu'il ne faut pas cette fois-ci les déclarer ?le 01/07/2018 à 18h54
mram Administrateur
Non à l'exercice 6 pas besoin de déclarer "text", et dans cet exercice non plus.
le 05/07/2018 à 04h55
darshee
c'est moi ou les variables n'existent pas en amont?le 21/12/2017 à 16h17
mram Administrateur
Bonjour, les variables sont bien déclarées en amont donc pas besoin de le faire à nouveau. Il faut juste tester chaque variable une par une avec typeof.
le 23/12/2017 à 16h59
<h1>VincentD</h1>
Je viens de comprendre qu'il fallait entrer une valeur Booléen dans la var3 pour avoir une valeur de chaque (string/number et boolean), en effet ce n'est pas très bien expliqué..le 05/12/2017 à 19h05
mram Administrateur
Bonjour, votre code est incorrect. Le code peut se faire en trois lignes. Il faut à chaque fois tester la variable (var1 puis var2, puis var3) tout en affectant le résultat à respectivement test1, test2, test3. Pas besoin d'utiliser alert() ce n'est pas demandé.
le 10/12/2017 à 14h00
lienmontage
J'ai réussi l'exercice, mais j'ai pas compris le but XDle 23/11/2017 à 15h57
mram Administrateur
Bonjour, le but est de comprendre l'utilisation de typeof . Quand on l'utilise ainsi il retourne le type de la variable. Donc par exemple la variable test1 contiendra le type de la variable var1, donc on pourra savoir si var1 contient un nombre, ou du texte, ou autre chose.
le 26/11/2017 à 19h40
damien.lando
je suis bloqué je ne comprends pasle 11/01/2018 à 16h31
mram Administrateur
Bonjour, ajoutez des espaces autour de = et ça devrait passer.
le 12/01/2018 à 02h34
sayks.inpanya-46
code: var var1=42;var test1=typeof var1; et c'est pareil pr les autresle 02/12/2019 à 19h42
valerie.major-59
bonjour. j'ai réussi mais franchement l'énoncé n'était pas clairle 07/03/2019 à 11h57
Biila
<script> var var1 = 42; var var2 = undefined; var var3 = 'hello world'; var test1 = typeof var1; var test2 = typeof var2; var test3 = typeof var3; </script>le 12/12/2018 à 00h03
sebastien.berthelot5-8
moi je n'y comprend rien votre enoncé est pourrile 28/10/2019 à 17h45
nkeshimanabrice-37
merci bien vule 19/02/2019 à 09h50
takfa
solution var var1 = 42 var test1=(typeof var1); var var2 = undefined var test2=(typeof var2); var var3 = 'hello world' var test3=(typeof var3);le 27/10/2019 à 16h32
anaise.constant-77
var var1 = 42 alert(typeof var1); // Affiche "number" var var2 = undefined alert(typeof var2); // Affiche "undefined" var var3 = 'hello world' alert(typeof var3); // Affiche "string" var test1 = typeof var1 var test2 = typeof var2 var test3 = typeof var3 - En passant, les consignes sont obscures, les indices/astuces sont parfois mystérieux. J'aime vos exos mais y'a des fois, c'est pas assez limpide, cristallin, claire. Merci beaucouple 08/11/2019 à 04h52
Je suis bloqué index.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE HTML> <html> <head> <title>Tester le type d'une variable </title> </head> <body> <script> var test1=(typeof var1); var test2=(typeof var2; var test3=(typeof var3); </script> </body> </html> JSResetSoumettre