Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
TypeError: can't assign to property "x" on "y": not an object
Message
TypeError: can't assign to property "x" on {y}: not an object (Firefox)TypeError: Cannot create property 'x' on {y} (Chrome)Dans cet article
Type d'erreur
Quel est le problème ?
Enmode strict, une exceptionTypeError est déclenchée lorsqu'on tente de créer une propriété surune valeur primitive telle qu'un symbole, une chaîne de caractères, un nombre ou un booleén.
Le problème peut être lié à une valeur qui se trouve à un endroit inattendu ou qu'un équivalent objet d'une valeur primitive est attendu (ex.String pour la chaîne de caractères ouNumber pour un nombre).
Exemples
>Exemple invalide
js
"use strict";var foo = "my string";// The following line does nothing if not in strict mode.foo.bar = {}; // TypeError: can't assign to property "bar" on "my string": not an objectExemple valide
On pourra corriger le problème en convertissant la valeur primitive en sont équivalent objet avec un constructeur (iciString pour .
js
"use strict";var foo = new String("my string");foo.bar = {};