Object

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 constructeur, Object se comporte de façon identique à new Object().

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

Propriétés du constructeur 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 constructeur 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.fromEntries()
Renvoie un nouvel objet à partir d'un itérable contenant des paires de clés-valeurs (l'opération duale de Object.entries).
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

Méthodes

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 (ECMA-262)
La définition de 'Object' dans cette spécification.
Standard évolutif Ajout de Object.entries, de Object.values et de Object.getOwnPropertyDescriptors.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
ObjectChrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 3Opera Support complet 3Safari Support complet 1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
Object() constructorChrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 3Opera Support complet 3Safari Support complet 1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
assignChrome Support complet 45Edge Support complet 12Firefox Support complet 34IE Aucun support NonOpera Support complet 32Safari Support complet 9WebView Android Support complet 45Chrome Android Support complet 45Firefox Android Support complet 34Opera Android Support complet 32Safari iOS Support complet 9Samsung Internet Android Support complet 5.0nodejs Support complet 4.0.0
constructorChrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 4Opera Support complet 4Safari Support complet 1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
createChrome Support complet 5Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 11.6Safari Support complet 5WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 5Samsung Internet Android Support complet 1.0nodejs Support complet Oui
__defineGetter__
Obsolète
Chrome Support complet 1Edge Support complet 12Firefox Support complet 1
Notes
Support complet 1
Notes
Notes 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.
IE Support complet 11Opera Support complet 9.5Safari Support complet 3WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
definePropertiesChrome Support complet 5Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 11.6Safari Support complet 5WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 5Samsung Internet Android Support complet 1.0nodejs Support complet Oui
definePropertyChrome Support complet 5Edge Support complet 12Firefox Support complet 4IE Support complet 9
Support complet 9
Support partiel 8
Notes
Notes In Internet Explorer 8, this was only supported on DOM objects and with some non-standard behaviors. This was later fixed in Internet Explorer 9.
Opera Support complet 11.6Safari Support complet 5.1
Notes
Support complet 5.1
Notes
Notes Also supported in Safari 5, but not on DOM objects.
WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 6
Notes
Support complet 6
Notes
Notes Also supported in Safari for iOS 4.2, but not on DOM objects.
Samsung Internet Android Support complet 1.0nodejs Support complet Oui
__defineSetter__
Obsolète
Chrome Support complet 1Edge Support complet 12Firefox Support complet 1
Notes
Support complet 1
Notes
Notes 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.
IE Support complet 11Opera Support complet 9.5Safari Support complet 3WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
entriesChrome Support complet 54Edge Support complet 14Firefox Support complet 47IE Aucun support NonOpera Support complet 41Safari Support complet 10.1WebView Android Support complet 54Chrome Android Support complet 54Firefox Android Support complet 47Opera Android Support complet 41Safari iOS Support complet 10.3Samsung Internet Android Support complet 6.0nodejs Support complet 7.0.0
Support complet 7.0.0
Support complet 6.5.0
Désactivée
Désactivée From version 6.5.0: this feature is behind the --harmony runtime flag.
freezeChrome Support complet 6Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 12Safari Support complet 5.1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 6Samsung Internet Android Support complet 1.0nodejs Support complet Oui
fromEntriesChrome Support complet 73Edge Support complet 79Firefox Support complet 63IE Aucun support NonOpera Support complet 60Safari Support complet 12.1WebView Android Support complet 73Chrome Android Support complet 73Firefox Android Support complet 63Opera Android Aucun support NonSafari iOS Support complet 12.2Samsung Internet Android Aucun support Nonnodejs Support complet 12.0.0
getOwnPropertyDescriptorChrome Support complet 5Edge Support complet 12Firefox Support complet 4IE Support complet 9
Support complet 9
Support partiel 8
Notes
Notes In Internet Explorer 8, this was only supported on DOM objects and with some non-standard behaviors. This was later fixed in Internet Explorer 9.
Opera Support complet 12Safari Support complet 5WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 5Samsung Internet Android Support complet 1.0nodejs Support complet Oui
getOwnPropertyDescriptorsChrome Support complet 54Edge Support complet 15Firefox Support complet 50IE Aucun support NonOpera Support complet 41Safari Support complet 10WebView Android Support complet 54Chrome Android Support complet 54Firefox Android Support complet 50Opera Android Support complet 41Safari iOS Support complet 10Samsung Internet Android Support complet 6.0nodejs Support complet 7.0.0
Support complet 7.0.0
Support complet 6.5.0
Désactivée
Désactivée From version 6.5.0: this feature is behind the --harmony runtime flag.
getOwnPropertyNamesChrome Support complet 5Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 12Safari Support complet 5WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 5Samsung Internet Android Support complet 1.0nodejs Support complet Oui
getOwnPropertySymbolsChrome Support complet 38Edge Support complet 12Firefox Support complet 36IE Aucun support NonOpera Support complet 25Safari Support complet 9WebView Android Support complet 38Chrome Android Support complet 38Firefox Android Support complet 36Opera Android Support complet 25Safari iOS Support complet 9Samsung Internet Android Support complet 3.0nodejs Support complet 0.12
getPrototypeOfChrome Support complet 5Edge Support complet 12Firefox Support complet 3.5IE Support complet 9Opera Support complet 12.1Safari Support complet 5WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12.1Safari iOS Support complet 5Samsung Internet Android Support complet 1.0nodejs Support complet Oui
hasOwnPropertyChrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 5.5Opera Support complet 5Safari Support complet 3WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
isChrome Support complet 30Edge Support complet 12Firefox Support complet 22IE Aucun support NonOpera Support complet 17Safari Support complet 9WebView Android Support complet ≤37Chrome Android Support complet 30Firefox Android Support complet 22Opera Android Support complet 18Safari iOS Support complet 9Samsung Internet Android Support complet 2.0nodejs Support complet 0.10
isExtensibleChrome Support complet 6Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 12Safari Support complet 5.1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 6Samsung Internet Android Support complet 1.0nodejs Support complet Oui
isFrozenChrome Support complet 6Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 12Safari Support complet 5.1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 6Samsung Internet Android Support complet 1.0nodejs Support complet Oui
isPrototypeOfChrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 9Opera Support complet 4Safari Support complet 3WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
isSealedChrome Support complet 6Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 12Safari Support complet 5.1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 6Samsung Internet Android Support complet 1.0nodejs Support complet Oui
keysChrome Support complet 5Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 12Safari Support complet 5WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 5Samsung Internet Android Support complet 1.0nodejs Support complet Oui
__lookupGetter__
Obsolète
Chrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 11Opera Support complet 9.5Safari Support complet 3WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
__lookupSetter__
Obsolète
Chrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 11Opera Support complet 9.5Safari Support complet 3WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
preventExtensionsChrome Support complet 6Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 12Safari Support complet 5.1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 6Samsung Internet Android Support complet 1.0nodejs Support complet Oui
propertyIsEnumerableChrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 5.5Opera Support complet 4Safari Support complet 3WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
__proto__
Obsolète
Chrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 11Opera Support complet 10.5Safari Support complet 3WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 11Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
sealChrome Support complet 6Edge Support complet 12Firefox Support complet 4IE Support complet 9Opera Support complet 12Safari Support complet 5.1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 12Safari iOS Support complet 6Samsung Internet Android Support complet 1.0nodejs Support complet Oui
setPrototypeOfChrome Support complet 34Edge Support complet 12Firefox Support complet 31IE Support complet 11Opera Support complet 21Safari Support complet 9WebView Android Support complet 37Chrome Android Support complet 34Firefox Android Support complet 31Opera Android Support complet 21Safari iOS Support complet 9Samsung Internet Android Support complet 2.0nodejs Support complet 0.12
toLocaleStringChrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 5.5Opera Support complet 4Safari Support complet 1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
toSource
ObsolèteNon-standard
Chrome Aucun support NonEdge Aucun support NonFirefox Aucun support 1 — 74
Notes
Aucun support 1 — 74
Notes
Notes Starting in Firefox 74, toSource() is no longer available for use by web content. It is still allowed for internal and privileged code.
IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Aucun support NonChrome Android Aucun support NonFirefox Android Support complet 4Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Aucun support Nonnodejs Aucun support Non
toString()Chrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 3Opera Support complet 3Safari Support complet 1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
valueOfChrome Support complet 1Edge Support complet 12Firefox Support complet 1IE Support complet 4Opera Support complet 3Safari Support complet 1WebView Android Support complet 1Chrome Android Support complet 18Firefox Android Support complet 4Opera Android Support complet 10.1Safari iOS Support complet 1Samsung Internet Android Support complet 1.0nodejs Support complet Oui
valuesChrome Support complet 54Edge Support complet 14Firefox Support complet 47IE Aucun support NonOpera Support complet 41Safari Support complet 10.1WebView Android Support complet 54Chrome Android Support complet 54Firefox Android Support complet 47Opera Android Support complet 41Safari iOS Support complet 10.3Samsung Internet Android Support complet 6.0nodejs Support complet 7.0.0
Support complet 7.0.0
Support complet 6.5.0
Désactivée
Désactivée From version 6.5.0: this feature is behind the --harmony runtime flag.

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
Fonctionnalité non-standard. Celle-ci peut être incorrectement supportée par les autres navigateurs.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Obsolète. Les nouveaux sites web ne doivent pas utiliser cette fonctionnalité.
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.

Voir aussi