Les objets sont comme des tableaux, mais des tableaux un peu spéciaux car leur ligne peut aussi contenir des tableaux. C’est un type très très utile pour stocker des données et les manipuler toutes ensembles. Les objets repose sur un systeme de “clef:valeur,” exactement comme dans un tableau à deux colonnes.
Si vous voulez vous créer une ficher perso D&D c’est le type de variable qu’il vous faut :
Les objets simples :
Mettons qu’on veuille créer un nouveau personnage avec des stats de base
Nom | MonToutou |
Race | Labrador |
Force | 100 |
Agilité | 10 |
Cri | “ouaf” |
On peut traduire le tableaux ci dessus en déclarant une variable de type Object
// declaration
var perso = {
nom:"MonToutou",
race:"Labrador",
force:100,
agilité:10,
cri:"ouaf"
}
Dès la déclaration d’un object on peut définir sa structure. Vous remarquerez que les données de l’objet sont contenu dans des balises {} comme pour les fonctions.
- pour séparer “les colonnes du tableau” on utilise le symbole “:”
- pour séparer les “lignes du tableau” on utilise “,”
⚠️ attention la dernière ligne ne doit pas avoi de , à la fin ⚠️
Afficher une valeur de l’objet :
une foi l’objet déclarer on va pouvoir acceder à ce qu’on appel ses propriétés ou attribus par l’intermédiaire de “.”
// declaration
var perso = {
nom:"MonToutou",
race:"Labrador",
force:100,
agilité:10,
cri:"ouaf"
}
MessageBox.information(perso.nom)
// affiche MonToutou
MessageBox.information(perso.agilité)
// affiche 10
MessageBox.information(perso.cri)
// affiche ouaf
On peut également acceder à la valeur d’une clef de l’objet en utilisant la synthaxe suivante :
// declaration
var perso = {
nom:"MonToutou",
race:"Labrador",
force:100,
agilité:10,
cri:"ouaf"
}
MessageBox.information(perso["nom"])
// affiche MonToutou
MessageBox.information(perso["agilité"])
// affiche 10
MessageBox.information(perso["cri"])
// affiche ouaf
Modifier l’objet :
Pour modifier la valeur d’une clef d’ un objet ajoute le signe = devant la clef que l’on veut modifier comme pour modifier une variable simple :
// declaration
var perso = {
nom:"MonToutou",
race:"Labrador",
force:100,
agilité:10,
cri:"ouaf"
}
MessageBox.information(perso["nom"])
// affiche MonToutou
// modification de la valeur de la clef "cri"
perso.cri = "miaou"
MessageBox.information(perso.cri)
// affiche miaou
Les objets complexes :
Les objets complexes sont des objets qui contiennent eux même des objets
On pourrait décomposer notre fiche perso en deux tableaux
TABLEAU_A :
Nom | MonToutou |
Race | Labrador |
Statistiques | voir tableau b |
Cri | “ouaf” |
TABLEAU_B
Force | 100 |
Agilité | 10 |
le tableau A contient le tableau B
On déclare cet objet comme ceci :
// declaration
var perso = {
nom:"MonToutou",
race:"Labrador",
statistiques:{
force:100,
agilité:10,
},
cri:"ouaf"
}
Pour afficher la clef “force” mainenant nous allons devoir passer par “statistiques”
// declaration
var perso = {
nom:"MonToutou",
race:"Labrador",
statistiques:{
force:100,
agilité:10,
},
cri:"ouaf"
}
MessageBox.information(perso.statistiques.force)
// autre synthaxe
MessageBox.information(perso["statistiques"]["force"])
Le format JSON
Le format json est un type de fichier qui permet de sauvegarder des objets
Vous devriez reconnaitre ici le format des master controller : le tbstate
Un tbstate est un objet complexe !