Message
TypeError: "x" is (not) "y" Exemples : TypeError: "x" is undefined TypeError: "x" is null TypeError: "undefined" is not an object TypeError: "x" is not an object or null TypeError: "x" is not a symbol
Type d'erreur
Quel est le problème ?
Un type inattendu a été rencontré. Cela se produit la plupart du temps avec les valeurs undefined
ou null
.
Certaines méthodes comme Object.create()
ou Symbol.keyFor()
ont des contraintes sur le type de valeur qui peut être passé en argument.
Exemples
Exemples invalides
// undefined et null : des valeurs // sur lesquelles la méthode substring // ne fonctionnera pas var toto = undefined; toto.substring(1); // TypeError: toto is undefined var too = null; toto.substring(1); // TypeError: toto is null // Certaines méthodes nécessitent une valeur // d'un type spécifique var toto = {} Symbol.keyFor(toto); // TypeError: toto is not a symbol var toto = "truc" Object.create(toto); // TypeError: "toto" is not an object or null
Résoudre le problème
Pour résoudre ce problème et écarter les cas où la valeur vaut undefined
ou null
, on peut par exemple utiliser l'opérateur typeof
.
if (typeof toto !== 'undefined') { // Désormais, on sait que toto est bien // défini et on peut poursuivre. }
Voir aussi
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
SphinxKnight
Dernière mise à jour par :
SphinxKnight,