Object functions

Object.keys, Object.values et Object.entries

Ces méthodes statiques transforment les propriétés propres, énumérables et nommées par des chaînes d’un objet en tableaux. Elles ne nécessitent pas de créer une instance de Object. Les propriétés héritées ne font pas partie de ces résultats.

Noms, valeurs et couples

const projet = { titre: 'Affiche', annee: 2026 };
console.log(Object.keys(projet));
console.log(Object.values(projet));
console.log(Object.entries(projet));

Sorties : ['titre', 'annee'], ['Affiche', 2026], puis [['titre', 'Affiche'], ['annee', 2026]]. Une entrée est un tableau de deux valeurs : le nom puis la valeur.

Parcourir les couples avec la déstructuration

const projet = { titre: 'Affiche', annee: 2026 };
for (const [nom, valeur] of Object.entries(projet)) {
  console.log(`${nom} : ${valeur}`);
}

La console affiche titre : Affiche puis annee : 2026. [nom, valeur] déstructure chaque couple. Cette forme est utile pour générer un récapitulatif de champs sans écrire un traitement par propriété.

Reconstituer un objet avec Object.fromEntries

const valeurs = [['titre', 'Photo'], ['annee', 2026]];
console.log(Object.fromEntries(valeurs)); // { titre: 'Photo', annee: 2026 }

Si le même nom apparaît plusieurs fois, la dernière valeur remplace les précédentes. Cette limite est importante pour Object.fromEntries(new FormData(form)) : plusieurs cases partageant le même name demandent plutôt FormData.getAll. Ne supposez pas non plus que l’ordre des clés d’un objet représente l’ordre métier d’une liste ; utilisez un tableau quand cet ordre est essentiel.