Les Objets en javascript : ce qu'il faut necessairement savoir et comprendre.
Les objets en javascript sont un peu different de ce que l'on connait dans les langages OOP/POO comme java, c# c++ etc.. en fait c'est une collection de données de type clé/valeur, dans d'autres langages de programmation, on parlerai de dictionnaire(dictionnary en anglais) ou de map, mais dans les autres langages de programmation, les dictionnaires/map doivent avoir les memes types de valeur tandis que en javascript, la clé c'est une chaine de caractère et la valeur peut etre n'importe quoi(chiane de caractère, nombre, boolean etc..) y compris un autre objet, le façon la plus facile pour créer un objet en javascript est d'utilisé ce qu'on appelle dans le jargon "object litteral" par exemple en definissant l'objet comme suit:
https://gist.github.com/Defcoq/e0b2956a1e8a3fc02dc75ca69f69853d
le point virgule arès la parenthèse de fermeture en javascript est optionnel.
Vous constatez dans le code qu'il s'agit effectivement d'un ensemble de clé/valeur, mais pourquoi comme la clé doit etre obligatoirement une chaine de caractère elle n'est donc pas contenu dans les quote (le caractère "")? simplement parceque en javscript, si les clé n'ont pas de caractère speciale, alors on peut bien les definir saans les mettre dans les quote "", si l'objet doit avoir des clé qui ont des caractères speciaux, alors le quote deviennent dans ce cas obligatoire, par exemple ceci:
https://gist.github.com/Defcoq/6440a6016c5d586dde70fe44b9c5d70c
Parfois on a la necessité d'ajouter des variables existantes quand on est entrain de definir des objets en javascript, pour cela il est parfois plus comode d'utiliser des raccourcit mis sur pied par javascript, un exemple valant 1000 mots, reguardez le code suivant:
https://gist.github.com/Defcoq/aff11169913b3ea06d593bab2b4103ba
si vous voulez créer un objet avec une clé stocker dans une variable, vous procdez de la manière suivante:
https://gist.github.com/Defcoq/eebd0f48cc0c22c75922508d398e54af
Comment recuperer une valeur ?
il y a deux manières de le faire qui est demontré dans le bout de code(snippet code) suivant:
https://gist.github.com/Defcoq/eb291d324423f31e46b344b70309f58a
Si on n'essaye de recuperer une valeur en passant une clé qui n'existe pas dans l'objet, on aura, on obtient le fameux "undefined",
Dans des objets embriqués (des objets qui contiennent des clés qui sont aussi des objets qui peuvent à leur tour contenir des clés qui sont eux aussi des objets et ainsi de suite), on peut chainé comem suit pour recuperer la valeur d'une propriété de l'objet.
https://gist.github.com/Defcoq/66505d2fb6f2098c987cd844f06878fd
Changer une valeur
Voici les differentes manière pour changer la valeur d'une propriété(le contenenu de la clée)
https://gist.github.com/Defcoq/aa6dc78b77eed20d528b699d5dfa457f
comme vous pouvez le constater, en javascript, on peut ajouter à la volée des propriétés à un objet existant qui n'était pas au prealable definit.
Eliminer une propriété(clé/valeur)
hyper simple on utilise le mot clé "delete"
https://gist.github.com/Defcoq/2e98c4dbe23d2c350a233bf04aa71077
Si la clée n'est pas existante on reçoit le fameux "undefined".
Verifier si une propriétée existe
Pour cela on procède comme suit:
https://gist.github.com/Defcoq/64637ffff1e53db258d1066b77cfaf74
Comme vous voyez, on utilise la fonction "hasOwnProperty" , cependant cette propriété renvoit false pour les propriété de l'objet parent si on derive d'un autre objet.
Comment cycler et lire toutes les propriétés d'un objet un par un?
https://gist.github.com/Defcoq/287c42ff0191c3d82184b8bcfa847fca
Attention: le cycle for enumere egalement les propriétés obtenues de la classe parente (la classe mère) ou mieux des objets parents si votre objet est un objet derivé, donc si vous voulez enumeré seulement les propriétés de l'objet courantes, on procède comme suit:
https://gist.github.com/Defcoq/bc2358b0bfe351e92c64dbcef1186a5c
Javascript contient un objet natif appellé justement "Object" qui contient des methodes pour recuperer toutes les clé d'un objet existant.
https://gist.github.com/Defcoq/c84c894c5199dede38d9ffc8d6d8e7c5
Abonnez Vous à ce site pour continuer à recevoir du contenu riche
LarrySig Guest
24.05.2024, 18:18
Post: Comment fonctionnent Internement les guichets automatiques ?
Orvilledop Guest
22.05.2024, 00:57
Post: Comment fonctionnent Internement les guichets automatiques ?
Orvilledop Guest
15.05.2024, 16:04
Post: Comment fonctionnent Internement les guichets automatiques ?
Franck Guest
14.05.2024, 19:34
Post: Comment deployer un site web statique sur github?