JavaScriptLeçon 9 sur 16

Objets

Un objet réunit au même endroit tout ce qui concerne une chose : un personnage a un nom, un niveau et des compétences. Chaque valeur est rangée sous sa propre clé.

L’essentiel

  • { name: "Luna", level: 3 } est un objet fait de paires clé: valeur
  • hero.name et hero["name"] lisent une propriété ; une propriété absente donne undefined
  • hero.city = "…" ajoute une propriété, hero.level += 1 en modifie une
  • Une méthode est une fonction dans un objet, et this y désigne l’objet lui-même
  • Object.keys(obj) renvoie un tableau des clés, "key" in obj vérifie qu’une clé existe

Exemple

const book = { title: "Dune", year: 1965, pages: 412 };console.log(book.title, book["year"]); book.rating = 5;console.log(book); for (const key of Object.keys(book)) {  console.log(`${key} → ${book[key]}`);}console.log("author" in book, book.author);

rating a été ajoutée après la création de l’objet, ce qui est permis. La boucle sur Object.keys a parcouru toutes les clés dans l’ordre, et le livre n’a pas d’author : d’où false et undefined.

Exercice

Utiliser l’éditeur⌘ Entrée ou Ctrl Entrée lance le code, ⇧ ⌘ Entrée vérifie l’exercice.Tab et Maj Tab indentent la ligne ou la sélection ; Échap puis Tab quitte l’éditeur.La vérification compare ce que le programme a affiché à l’exercice ; les espaces en fin de ligne ne comptent pas.Après deux vérifications ratées, la solution s’ouvre. Votre code reste dans ce navigateur.

Faites progresser le héros : augmentez level de 1, ajoutez la propriété city avec la valeur Riverwood et la compétence alchemy dans skills, et faites renvoyer à describe() Luna (level 4) from Riverwood. Sortie : Luna (level 4) from Riverwood, Skills: stealth, archery, alchemy et name, level, skills, describe, city.

Sortie

Ce que le programme affiche apparaîtra ici.