Le constructeur Object crée un wrapper d'objet.

Syntaxe

// Initialisateur d'objet ou littéral { [ paireNomValeur1[, paireNomValeur2[,
 ...paireNomValeurN] ] ] }

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

Paramètres

paireNomValeur1, paireNomValeur2, ... paireNomValeurN
Paires de noms (chaînes) et de valeurs (toutes valeurs) où le nom est séparé de la valeur par deux points (:).
valeur
Toute valeur.

Description

Le constructeur Object crée un wrapper d'objet pour la valeur donnée. Si la valeur est null ou undefined, il créera et retournera un objet vide, sinon, il retournera un objet du Type qui correspond à la valeur donnée. Si la valeur est déjà un objet, le constructeur retournera cette valeur.

Lorsqu'il n'est pas appelé dans un contexte contructeur, Object se comporte de façon identique à new Object().

Voir aussi initialisateur d'objet / syntaxe de littéral.

Propriétés du contructeur Object

Object.length
A une valeur de 1.
Object.prototype
Permet l'ajout de propriétés à tous les objets de type Object.

Méthodes du contructeur Object

Object.assign()
Copie les valeurs de toutes propriétés propres énumérables depuis un ou plusieurs objets source dans un objet cible.
Object.create()
Crée un nouvel objet avec le prototype d'objet et les propriétés indiqués.
Object.defineProperty()
Ajoute à un objet la propriété nommée décrite par le descripteur donné.
Object.defineProperties()
Ajoute à un objet les propriétés nommées décrites par les descripteurs donnés.
Object.entries()
Retourne un tableau contenant les paires [clé, valeur] des propriétés énumérables propres (c'est-à-dire directement rattachées à l'objet) de l'objet donné et dont les clés sont des chaînes de caractères.
Object.freeze()
Gèle un objet : un autre code ne peut ni détruire ni changer aucune propriété.
Object.getOwnPropertyDescriptor()
Retourne un descripteur de propriété pour une propriété nommée d'un objet.
Object.getOwnPropertyDescriptors()
Retourne un objet contenant tous les descripteurs des propriétés propres d'un objet.
Object.getOwnPropertyNames()
Retourne un tableau contenant les noms de toutes les propriétés énumérables et non énumérables propres de l'objet donné.
Object.getOwnPropertySymbols()
Retourne un tableau de toutes les propriétés symboles trouvées directement dans un objet donné.
Object.getPrototypeOf()
Retourne le prototype de l'objet indiqué.
Object.is()
Détermine si deux valeurs sont la même valeur. Considère comme égales toutes les valeurs NaN (ce qui diffère à la fois de la Comparaison d'Égalité Abstraite et de la Comparaison d'Égalité Stricte).
Object.isExtensible()
Détermine si l'extension d'un objet est permise.
Object.isFrozen()
Détermine si un objet a été gelé.
Object.isSealed()
Détermine si un objet est scellé.
Object.keys()
Retourne un tableau contenant les noms de toutes les propriétés énumérables propres de l'objet donné.
Object.preventExtensions()
Empêche toute extension de l'objet.
Object.seal()
Empêche un autre code de détruire les propriétés d'un objet.
Object.setPrototypeOf()
Définit le prototype d'un objet (c-à-d, la propriété interne [[Prototype]]).
Object.values()
Retourne le tableau des valeurs énumérables propres de l'objet donné dont les clés sont des chaînes de caractères.

Instances d'Object et objet de prototype Object

Tous les objets en JavaScript descendent d'Object ; tous les objets héritent des méthodes et des propriétés de Object.prototype, même si elles peuvent être surchargées. Par exemple, d'autres prototypes de constructeurs surchargent la propriété du constructor et fournissent leurs propres méthodes toString(). Les changements apportés à l'objet de prototype Object sont propagées à tous les objets, à moins que les propriétés et méthodes auxquelles s'appliquent ces changements ne soient surchargées plus loin dans la chaîne de prototypes.

Propriétés

Object.prototype.constructor
Specifies the function that creates an object's prototype.
Object.prototype.__proto__
Points to the object which was used as prototype when the object was instantiated.
Object.prototype.__noSuchMethod__
Allows a function to be defined that will be executed when an undefined object member is called as a method.
Object.prototype.__count__
Used to return the number of enumerable properties directly on a user-defined object, but has been removed.
Object.prototype.__parent__
Used to point to an object's context, but has been removed.

Méthodes

Object.prototype.__defineGetter__()
Associates a function with a property that, when accessed, executes that function and returns its return value.
Object.prototype.__defineSetter__()
Associates a function with a property that, when set, executes that function which modifies the property.
Object.prototype.__lookupGetter__()
Returns the function associated with the specified property by the __defineGetter__() method.
Object.prototype.__lookupSetter__()
Returns the function associated with the specified property by the __defineSetter__() method.
Object.prototype.hasOwnProperty()
Returns a boolean indicating whether an object contains the specified property as a direct property of that object and not inherited through the prototype chain.
Object.prototype.isPrototypeOf()
Returns a boolean indicating whether the object this method is called upon is in the prototype chain of the specified object.
Object.prototype.propertyIsEnumerable()
Returns a boolean indicating if the internal ECMAScript [[Enumerable]] attribute is set.
Object.prototype.toSource()
Returns string containing the source of an object literal representing the object that this method is called upon; you can use this value to create a new object.
Object.prototype.toLocaleString()
Calls toString().
Object.prototype.toString()
Returns a string representation of the object.
Object.prototype.unwatch()
Removes a watchpoint from a property of the object.
Object.prototype.valueOf()
Returns the primitive value of the specified object.
Object.prototype.watch()
Adds a watchpoint to a property of the object.
Object.prototype.eval()
Used to evaluate a string of JavaScript code in the context of the specified object, but has been removed.

Suppression d'une propriété dans un objet

Il n'y a aucune méthode dans un Object lui-même pour supprimer ses propres propriétés (par exemple, comme Map.prototype.delete()). Pour ce faire, il faut utiliser l'opérateur delete.

Exemples

Utilisation d'Object avec les types undefined et null

Les exemples suivants stockent un Object vide dans o :

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

Utilisation d'Object pour créer des objets Boolean

Les exemples suivants stockent des objets Boolean dans o :

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

Spécifications

Spécification Statut Commentaire
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 Ajout de Object.assign, Object.getOwnPropertySymbols, Object.setPrototypeOf, Object.is
ECMAScript Latest Draft (ECMA-262)
La définition de 'Object' dans cette spécification.
Projet Ajout de Object.entries, de Object.values et de Object.getOwnPropertyDescriptors.

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple Oui Oui1 Oui Oui Oui
prototype Oui Oui1 Oui Oui Oui
__count__ Non Non Non Non Non Non
__noSuchMethod__ Non Non1 — 43 Non Non Non
__parent__ Non Non Non Non Non Non
__proto__ Oui Oui111 Oui Oui
constructor Oui Oui1 Oui Oui Oui
assign45 Oui34 Non329
create5 Oui4911.65
defineProperties5 Oui4911.65
defineProperty5 Oui49111.65.12
entries54 Oui47 Non4110.1
freeze6 Oui49125.1
getNotifier36 — 52 Non Non Non Non Non
getOwnPropertyDescriptor5 Oui48125
getOwnPropertyDescriptors54 Oui50 Non4110
getOwnPropertyNames5 Oui49125
getOwnPropertySymbols38 Oui36 Non259
getPrototypeOf5 Oui3.5912.15
is30 Oui22 Non Oui9
isExtensible6 Oui49125.1
isFrozen6 Oui49125.1
isSealed6 Oui49125.1
keys5 Oui49125
observe36 — 52 Non Non Non Non Non
preventExtensions6 Oui49125.1
__defineGetter__ Oui Oui1311 Oui Oui
__defineSetter__ Oui Oui1311 Oui Oui
__lookupGetter__ Oui Oui111 Oui Oui
__lookupSetter__ Oui Oui111 Oui Oui
eval Non Non Non Non Non Non
hasOwnProperty Oui Oui1 Oui Oui Oui
isPrototypeOf Oui Oui Oui Oui Oui Oui
propertyIsEnumerable Oui Oui Oui Oui Oui Oui
toLocaleString Oui Oui1 Oui Oui Oui
toSource Non Non1 Non Non Non
toString Oui Oui1 Oui Oui Oui
unwatch Non Non1 — 58 Non Non Non
valueOf Oui Oui1 Oui Oui Oui
watch Non Non1 — 58 Non Non Non
seal6 Oui49125.1
setPrototypeOf34 Oui3111 Oui9
unobserve36 — 52 Non Non Non Non Non
values54 Oui47 Non4110.1
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple Oui Oui Oui4 Oui Oui Oui
prototype Oui Oui Oui4 Oui Oui Oui
__count__ Non Non Non Non Non Non Non
__noSuchMethod__ Non Non Non4 — 43 Non Non Non
__parent__ Non Non Non Non Non Non Non
__proto__ Oui Oui Oui4 Oui Oui Oui
constructor Oui Oui Oui4 Oui Oui Oui
assign Non45 Oui34 Non Oui5.0
create Oui Oui Oui411.5 Oui Oui
defineProperties Oui Oui Oui411.5 Oui Oui
defineProperty Oui Oui Oui411.5 Oui Oui
entries5454 Oui4741 Non6.0
freeze Oui Oui Oui4 Oui Oui Oui
getNotifier Non Non Non Non Non Non Non
getOwnPropertyDescriptor Oui Oui Oui4 Oui Oui Oui
getOwnPropertyDescriptors ?54 Oui50 ? ?6.0
getOwnPropertyNames Oui Oui Oui4 Oui Oui Oui
getOwnPropertySymbols5.138 Oui36259 Oui
getPrototypeOf Oui Oui Oui4 Oui Oui Oui
is Oui Oui Oui22 Oui9 Oui
isExtensible Oui Oui Oui4 Oui Oui Oui
isFrozen Oui Oui Oui4 Oui Oui Oui
isSealed Oui Oui Oui4 Oui Oui Oui
keys Oui Oui Oui4 Oui Oui Oui
observe Non Non Non Non Non Non Non
preventExtensions Oui Oui Oui4 Oui Oui Oui
__defineGetter__ Oui Oui Oui4 Oui Oui Oui
__defineSetter__ Oui Oui Oui4 Oui Oui Oui
__lookupGetter__ Oui Oui Oui4 Oui Oui Oui
__lookupSetter__ Oui Oui Oui4 Oui Oui Oui
eval Non Non Non Non Non Non Non
hasOwnProperty Oui Oui Oui4 Oui Oui Oui
isPrototypeOf Oui Oui Oui Oui Oui Oui Oui
propertyIsEnumerable Oui Oui Oui Oui Oui Oui Oui
toLocaleString Oui Oui Oui4 Oui Oui Oui
toSource Non Non Non4 Non Non Non
toString Oui Oui Oui4 Oui Oui Oui
unwatch Non Non Non4 — 58 Non Non Non
valueOf Oui Oui Oui4 Oui Oui Oui
watch Non Non Non4 — 58 Non Non Non
seal Oui Oui Oui4 Oui Oui Oui
setPrototypeOf Oui Oui Oui31 Oui Oui Oui
unobserve Non Non Non Non Non Non Non
values5454 Oui474110.36.0

1. Also supported in Internet Explorer 8, but only on DOM objects and with some non-standard behaviors.

2. Also supported in Safari 5, but not on DOM objects.

3. Starting with Firefox 48, this method can no longer be called at the global scope without any object. A TypeError will be thrown otherwise. Previously, the global object was used in these cases automatically, but this is no longer the case.

Voir aussi

Étiquettes et contributeurs liés au document

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