TypeError

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Un objet TypeError représente une erreur qui se produit généralement (mais pas toujours) lorsqu'une opération n'a pu avoir lieu parce qu'une valeur n'a pas le type attendu.

Une exception TypeError peut être levée lorsque :

  • Un opérande ou un argument passé à une fonction est incompatible avec le type attendu par l'opérateur ou la fonction
  • On tente de modifier une valeur qui ne peut pas être changée
  • On tente d'utiliser une valeur de façon inappropriée.

Constructeur

TypeError()

Crée un nouvel objet TypeError.

Propriétés des instances

TypeError.prototype.message

Le message d'erreur.

TypeError.prototype.name

Le nom de l'erreur. Hérité depuis Error.

TypeError.prototype.fileName

Le chemin du fichier qui a déclenché l'erreur. Hérité depuis Error.

TypeError.prototype.lineNumber

Le numéro de la ligne du fichier qui a déclenché l'erreur. Hérité depuis Error.

TypeError.prototype.columnNumber

Le numéro de colonne de la ligne du fichier qui a déclenché l'erreur. Hérité depuis Error.

TypeError.prototype.stack

La pile d'appels. Héritée depuis Error.

Exemples

Intercepter une exception TypeError

js
try {
  null.f();
} catch (e) {
  console.log(e instanceof TypeError); // true
  console.log(e.message); // "null has no properties"
  console.log(e.name); // "TypeError"
  console.log(e.fileName); // "Scratchpad/1"
  console.log(e.lineNumber); // 2
  console.log(e.columnNumber); // 2
  console.log(e.stack); // "@Scratchpad/2:2:3\n"
}

Créer une exception TypeError

js
try {
  throw new TypeError("Coucou", "unFichier.js", 10);
} catch (e) {
  console.log(e instanceof TypeError); // true
  console.log(e.message); // "Coucou"
  console.log(e.name); // "TypeError"
  console.log(e.fileName); // "unFichier.js"
  console.log(e.lineNumber); // 10
  console.log(e.columnNumber); // 0
  console.log(e.stack); // "@Scratchpad/2:2:9\n"
}

Spécifications

Specification
ECMAScript Language Specification
# sec-native-error-types-used-in-this-standard-typeerror

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi