Object

Le constructeur Object crée une enveloppe (wrapper) pour représenter un objet.

Syntaxe

// Littéral objet (aussi appelé initialisateur d'objet)
{ [ nomValeurPaire[, nomValeurPaire2[, ...nomValeurPaireN] ] ] }

// Appelé comme un constructeur
new Object([valeur])

Paramètres

nomValeurPaire1, nomValeurPaire2, ... nomValeurPaireN
Des paires de noms (des chaînes de caractères) et de valeurs (n'importe quelles valeurs), le nom est séparé de la valeur par deux points (:).
valeur
N'import quelle valeur.

Description

Le constructeur Object permet de créer un objet autour d'une valeur donnée. Si la valeur est null ou undefined, un objet vide sera créé et renvoyé. Sinon, un objet du type correspondant sera renvoyé, si la valeur est déjà un objet, le constructeur renverra cette valeur.

Lorsque le constructeur est appelé comme une fonction classique (sans l'opérateur new), Object se comportera de la même façon que to new Object().

Voir également les littéraux objets.

Propriétés

Object.length
Ce constructeur a une propriété de longueur de 1.
Object.prototype
Cette propriété permet d'ajouter des propriétés à toutes les instances (c'est-à-dire tous les objets) via la chaîne de prototypes.

Méthodes

Object.assign()
Crée un nouvel objet en copiant les valeurs des propriétés énumérables de un ou plusieurs objets.
Object.create()
Crée un nouvel objet avec un prototype donnée et des propriétés données.
Object.defineProperty()
Ajoute une propriété à un objet, cette propriété nommée est décrite par le descripteur fourni.
Object.defineProperties()
Ajoute des propriétés à un objet qui sont décrites par les descripteurs respectifs.
Object.freeze()
Gèle un objet : on ne peut ni supprimer ni modifier ses propriétés.
Object.getOwnPropertyDescriptor()
Renvoie un descripteur de propriété pour une certaine propriété nommée d'un objet.
Object.getOwnPropertyNames()
Renvoie un tableau contenant les noms de toutes les propriétés propres à l'objet qui sont énumérables et non-énumérables (les propriétés propres sont celles directement rattachées à l'objet, qui ne sont pas héritées par la chaîne de prototypes).
Object.getOwnPropertySymbols()
Renvoie un tableau de toutes les propriétés propres d'un objet qui sont des symboles (les propriétés propres sont celles qui ne sont pas héritées).
Object.getPrototypeOf()
Renvoie le prototype d'un objet donné.
Object.is()
Compare si deux valeurs sont les mêmes.
Object.isExtensible()
Détermine s'il est possible d'étendre un objet.
Object.isFrozen()
Détermine si un objet a été gelé.
Object.isSealed()
Détermine si un objet est scellé.
Object.keys()
Renvoie un tableau qui contient les noms de toutes les propriétés propres d'un objet qui sont énumérables (les propriétés propres sont celles qui ne sont pas héritées).
Object.observe()
Observe, de façon asynchrone, les modifications apportées à un objet.
Object.preventExtensions()
Empêche l'extension de l'objet.
Object.seal()
Empêche qu'un code tierce supprime les propriétés d'un objet.
Object.setPrototypeOf()
Définit le prototype d'un objet (c'est-à-dire la propriété interne [[Prototype]])

Les instances d'Object et son prototype

En JavaScript, tous les objets héritent d'Object ; tous les objets bénéficient donc des méthodes et des propriétés de Object.prototype même si ces méthodes et propriétés peuvent être surchargées si elles sont redéfinies en aval dans la chaîne de prototypes. Ainsi, certains prototypes de constructeurs fournissent leurs propres méthodes pour toString(). Les modifications apportées au prototype d'Object sont propagées sur tous les objets via la chaîne de prototypes sauf si les propriétés et/ou méthodes concernées ont été surchargées.

Propriétés

Object.prototype.constructor
Définit la fonction qui a créé le prototype d'un objet.
Object.prototype.__proto__
Pointe vers l'objet qui a été utilisé comme prototype lors de l'instanciation de l'objet.
Object.prototype.__noSuchMethod__
Permet de définir une fonction qui sera exécutée lors d'une tentative d'accès à une méthode non-définie pour l'objet.
Object.prototype.__count__
UTilisée pour renvoyer le nombre de propriétés énumérables sur un objet défini par l'utilisateur. Cette propriété a été retirée.
Object.prototype.__parent__
Utilisée pour faire référence au contexte de l'objet. Cette propriété a été retirée.

Méthodes

Object.prototype.__defineGetter__()
Associe une fonction à une propriété qui, lorsqu'on y accède, exécute la fonction et renvoie la valeur de retour.
Object.prototype.__defineSetter__()
Associe une fonction à une propriété qui, lorsqu'on la définit, exécute la fonction qui modifie la propriété.
Object.prototype.__lookupGetter__()
Renvoie la fonction associée à la propriété définie par la méthode __defineGetter__.
Object.prototype.__lookupSetter__()
Renvoie la fonction associée avec la propriété définie par la méthode __defineSetter__.
Object.prototype.hasOwnProperty()
Renvoie un booléen qui indique si l'objet contient la propriété donnée comme une propriété propre (non héritée via la chaîne de prototypes).
Object.prototype.isPrototypeOf()
Renvoie un booléen qui indique si l'objet donné est dans la chaîne de prototype de l'objet pour lequel on a utilisé la méthode.
Object.prototype.propertyIsEnumerable()
Renvoie un booléen qui indique si la propriété interne ECMAScript [DontEnum] est définie.
Object.prototype.toSource()
Renvoie une chaîne de caractères qui est un littéral objet représentant l'objet pour lequel la méthode a été appelée. La valeur de retour peut être utilisée pour créer un nouvel objet.
Object.prototype.toLocaleString()
Appelle la méthode toString().
Object.prototype.toString()
Renvoie une chaîne de caractères représentant l'objet.
Object.prototype.unwatch()
Supprime un point d'arrêt conditionnel placé sur une propriété de l'objet.
Object.prototype.valueOf()
Renvoie la valeur primitive de l'objet.
Object.prototype.watch()
Ajoute un point d'arrêt conditionnel sur une propriété de l'objet.
Object.prototype.eval()
Utilisée pour évaluer une chaîne de caractères étant du code JavaScript dans le contexte de l'objet. Cette méthode a été retirée.

Exemples

Utiliser Object avec les types undefined et null

Dans les exemples suivants, on stocke un objet vide dans la variable o :

var o = new Object();
var o = new Object(undefined);
var o = new Object(null);

Utiliser Object pour créer des objets Boolean

Dans les exemples suivantes, on affecte une valeur qui est un objet Boolean à o :

// est équivalent à : o = new Boolean(true);
var o = new Object(true);
// est équivalent à : o = new Boolean(false);
var o = new Object(Boolean());

Spécifications

Spécification Statut Commentaires
ECMAScript 1st Edition (ECMA-262) Standard Définition initiale. Implémentée par JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
La définition de 'Object' dans cette spécification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Object' dans cette spécification.
Standard  

Compatibilité des navigateurs

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support simple (Oui) (Oui) (Oui) (Oui) (Oui)
Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight, teoli, LaBoumerde, Sheppy, rat, daniel35310
Dernière mise à jour par : SphinxKnight,