🤖 Bases de la Programmation : Les Variables de type ‘object’

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

NomMonToutou
RaceLabrador
Force100
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 “,”

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 :

NomMonToutou
RaceLabrador
Statistiquesvoir tableau b
Cri “ouaf”

TABLEAU_B

Force100
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 !