Exercice 2/31
Dans le fichier "script.js"
:
- déclarez la variable
tableau
qui doit contenir un tableau ordonné vide; - déclarez la variable
test
; - vérifiez le type de
tableau
et affectez-le àtest
; - affichez
test
avecalert()
; - cliquez sur "Soumettre ma réponse".
Leçon 2/31
Aborder les tableaux en Javascript nécessite de faire un point sur la notion d'objet.
Un objet c'est quoi :
En Javascript, une chaîne de caractères, un nombre, un booléen sont en fait des objets.
var texte = "Je suis une chaîne de caractères.";
Ci-dessus, on créé la variable texte
qui contient un objet qui représente une chaîne de caractères. Plus qu'une variable, on a donc créé un objet.
La structure d'un objet :
Un objet contient toujours trois éléments :
- un constructeur;
- des propriétés;
- des méthodes;
Vous avez déjà utilisé des propriétés et des méthodes natives que Javascript met à disposition pour les chaînes, les nombres, etc. Si on reprend le code précédent :
var texte = "Je suis une chaîne de caractères.";
var longueur = texte.length; // Propriété
var maj = texte.toUpperCase(); // Méthode
Dès que l'on créé une chaîne de caractères, pour Javascript ce sera un objet et il propose par défaut certaines propriétés et méthodes qui permettent de manipuler l'objet stocker dans la variable texte
.
Le caractère important ici est le point .
, il permet de dire que l'on souhaite accéder à la propriété length
de texte
qui contient l'objet en question, autrement dit la chaîne de caractères.
Pourquoi parler des objets :
Aborder cette notion maintenant est important. Soit le code suivant :
var txt = "blablabla";
var nb = 10;
alert(typeof txt); // affiche "string"
alert(typeof nb); // affiche "number"
Avec typeof
on peut connaître le type d'une variable selon ce qu'elle contient.
A votre avis, que donne typeof
avec un tableau []
??
Faites l'exercice pour avoir la réponse.
43 Commentaires
-
fabrice.reymond-24
Bonjour, Est-il possible que Bob arrete de dire bonjour à chaque page ? ;-)le 03/09/2022 à 14h57
-
Patricio M Admin
Fabrice, on va essayer... oui. Patience avec Bob
le 05/09/2022 à 09h02
-
ramada.damien-55
bonjour il doit y avoir un pb avec cette série d'exercices..je n'arrête pas d'avoir boucle infinie alors que le script s'effectue bien !le 24/01/2022 à 17h57
-
meriam Admin
Votre code fonctionne correctement
le 25/01/2022 à 10h00
-
childeric23-53
bonjour je ne vois pas mon erreurle 17/12/2021 à 12h58
-
meriam Admin
Bonsoir, pour la variable test , il faut combiner la déclaration de test ainsi que l'affectation de valeur
le 19/12/2021 à 22h56
-
cedricmelou-35
bonjour je ne vois pas mon erreur mercile 22/09/2021 à 13h36
-
meriam Admin
Bonjour, j'ai corrigé votre code :var tableau = []; var test = typeof tableau; alert(test)
le 23/09/2021 à 14h12
-
alexandre.roy04-73
bonjour j'ai compris toute la logique mais je vois pas pourquoi sa ne marche pas : var tableau=[]; var test=alert(typeof tableau);le 20/12/2020 à 14h18
-
meriam Admin
Bonjour, une fois vous avez testé le type du tableau, vous devez afficher le résultat avec alert(test)
le 23/12/2020 à 11h09
-
Lexo
Bonjour je ne comprends pas mon erreur pouvez vous m'aider merci. voici mon code var tableau [] var test = typeof tableau; alert(test)le 14/06/2018 à 13h25
-
mram Admin
Bonjour, ligne 1 il manque le signe d'affectation = . Et c'est ligne 2 qu'il faut utiliser "typeof".
le 19/06/2018 à 00h53
-
pierre.jacquel
Pourquoi apprendre des bêtises aux étudiants ? Une chaine n'est PAS un objet, c'est un type primitif, string en l'occurence. Si on à l'impression que c'est un objet avec des propriétés c'est à cause du wrapper objet associé. De plus c'est quoi cette histoire de constructeur ? Un objet en js n'a absolument pas besoin de constructeur ni de méthodes pour vivre sa vie d'objet...le 03/01/2018 à 10h20
-
mram Admin
Bonjour, nous simplifions le discours. Il n'est pas nécessaire de rentrer dans les détails pour des débutants. Oui une primitive "string" est convertie en un objet temporaire pour pouvoir utiliser les méthodes (.split() ... ) et les propriétés ( length ... ) de l'objet global String. Mais ça devient plus compliqué pour des débutants.
le 11/01/2018 à 22h43
-
rachid
C'est bon j'ai trouvé. Allé zou a l'exo suivant.le 09/12/2017 à 10h15
-
rachid
Impossiblie de valide cet exercice. Voici mon exercice : var tableau = []; var test = tableau; alert(typeof tableau);le 09/12/2017 à 10h12
-
mram Admin
Non c'est bien "typeof tableau" et non "tableau.typeof"
le 21/05/2017 à 18h32
-
santikush
je ne comprends pas pourquoi ma variable fonctionne présentée comme ceci: var test=typeof tableau; alors que je croyais avoir compris qu'il fallait l'indiquer de cette façon: var test=tableau.typeof;le 17/05/2017 à 11h00
-
mram Admin
Il faut que la variable "test" contienne le résultat de "typeof tableau". Il faut faire un mix de vos lignes 2 et 3.
le 24/02/2017 à 21h59
-
mariinadaguet
bonjour, je n'ai pas trop compris "AVEZ-VOUS BIEN AFFECTÉ LE TYPE DE "TABLEAU" À "TEST" ?" Mercile 24/02/2017 à 09h58
-
mram Admin
Il y a en effet plusieurs moyens d'arriver au même résultat, comme souvent d'ailleurs. Dans les instructions on décompose au maximum la logique du code car c'est plus accessible pour les débutants en programmation / algorithmie. ça permet de bien comprendre ce que fait telle ou telle partie du code.
le 05/12/2016 à 21h59
-
ludovicbonpoil
Comment se compliquer la vie... j'ai fait : var tableau = []; alert(typeof tableau); C'est plus simple et j'ai eu le même résultat.le 02/12/2016 à 14h10
Commentaires les mieux notés