Opérateur typeof

L'opérateur typeof permet de déterminer le type d'un paramètre (nombre, chaîne, objet). L'opérateur retourne une chaîne de caractères, contenant le type ('number', 'string', 'object').

Pour null l'opérateur retourne 'object' (c'est une erreur reconnue du langage). Pour les fonctions, l'opérateur retourne 'function'. Ceci est fait pour des raisons pratiques, bien que le type 'function' n'existe pas.

Syntaxe

L'opérateur typeof a 2 syntaxes (les deux syntaxes fonctionnent de manière identique):

javascripttypeof paramètre;
typeof(paramètre);

Exemple

Voyons comment typeof fonctionne avec un nombre:

javascripttypeof 1;

Suite à l'exécution du code nous obtiendrons la valeur number:

javascript'number'

Exemple

Maintenant, passons une chaîne en paramètre:

javascripttypeof 'str';

Résultat de l'exécution du code:

javascript'string'

Exemple

Maintenant, spécifions la valeur booléenne true comme paramètre:

javascripttypeof true;

Résultat de l'exécution du code:

javascript'boolean'

Exemple

Voyons quel type a la valeur undefined:

javascripttypeof undefined;

Après exécution du code nous obtiendrons également undefined:

javascript'undefined'

Exemple

Maintenant, découvrons le type d'un objet vide:

javascripttypeof {};

Résultat de l'exécution du code:

javascript'object'

Exemple

Et maintenant, découvrons le type d'un tableau vide:

javascripttypeof [];

En résultat, nous obtiendrons également 'object':

javascript'object'

Exemple

Découvrons le type de la valeur null:

javascripttypeof null;

En résultat, nous obtiendrons également 'object', ce qui est une erreur reconnue du langage:

javascript'object'

Exemple

Maintenant, déterminons le type d'une fonction vide:

javascripttypeof function() {};

Après exécution du code, nous obtiendrons 'function', bien que ce type n'existe pas. Cette chaîne est nécessaire pour la commodité de l'utilisateur lors de la détermination d'une fonction:

javascript'function'

Exemple

Écrivons une fonction qui n'affichera que les nombres:

javascriptfunction printNumber(number) {
  if (typeof number === 'number') {
    console.log(number);
  }
}

printNumber(2);
printNumber('str');
printNumber(3);

Voir aussi

  • la fonction isNaN,
    qui effectue une vérification pour NaN
  • la fonction isFinite,
    qui vérifie si un nombre est fini