Types de données JavaScript: Typeof expliqué

typeofest un mot-clé JavaScript qui retournera le type d'une variable lorsque vous l'appelez. Vous pouvez l'utiliser pour valider les paramètres de fonction ou vérifier si des variables sont définies. Il existe également d'autres utilisations.

L' typeofopérateur est utile car c'est un moyen simple de vérifier le type d'une variable dans votre code. Ceci est important car JavaScript est un langage typé dynamiquement. Cela signifie que vous n'êtes pas obligé d'assigner des types aux variables lorsque vous les créez. Comme une variable n'est pas limitée de cette manière, son type peut changer pendant l'exécution d'un programme.

Par exemple:

var x = 12345; // number x = 'string'; // string x = { key: 'value' }; // object

Comme vous pouvez le voir dans l'exemple ci-dessus, une variable en JavaScript peut changer de type tout au long de l'exécution d'un programme. Cela peut être difficile à suivre en tant que programmeur, et c'est là que l' typeofopérateur est utile.

L' typeofopérateur renvoie une chaîne qui représente le type actuel d'une variable. Vous l'utilisez en tapant typeof(variable)ou typeof variable. En revenant à l'exemple précédent, vous pouvez l'utiliser pour vérifier le type de la variable xà chaque étape:

var x = 12345; console.log(typeof x) // number x = 'string'; console.log(typeof x) // string x = { key: 'value' }; console.log(typeof x) // object

Cela peut être utile pour vérifier le type d'une variable dans une fonction et continuer le cas échéant.

Voici un exemple de fonction qui peut prendre une variable qui est une chaîne ou un nombre:

function doSomething(x) { if(typeof(x) === 'string') { alert('x is a string') } else if(typeof(x) === 'number') { alert('x is a number') } }

L' typeofopérateur peut également être utile en s'assurant qu'une variable est définie avant d'essayer d'y accéder dans votre code. Cela peut aider à éviter les erreurs dans un programme qui peuvent se produire si vous essayez d'accéder à une variable qui n'est pas définie.

function(x){ if (typeof(x) === 'undefined') { console.log('variable x is not defined'); return; } // continue with function here... }

La sortie de l' typeofopérateur peut ne pas toujours correspondre à ce que vous attendez lorsque vous recherchez un nombre.

Les nombres peuvent devenir la valeur NaN (Not A Number) pour plusieurs raisons.

console.log(typeof NaN); //"number"

Peut-être avez-vous essayé de multiplier un nombre avec un objet parce que vous avez oublié d'accéder au nombre à l'intérieur de l'objet.

var x = 1; var y = { number: 2 }; console.log(x * y); // NaN console.log(typeof (x * y)); // number

Lors de la vérification d'un nombre, il ne suffit pas de vérifier la sortie de typeofpour un nombre, car NaNégalement

réussit ce test.

Cette fonction vérifie les nombres et ne permet pas non plus à la NaNvaleur de passer.

function isNumber(data) { return (typeof data === 'number' && !isNan(data)); }

Même si c'est une méthode de validation utile, nous devons être prudents car javascript comporte des parties étranges et l'une d'entre elles est le résultat d' typeofinstructions plus particulières. Par exemple, en javascript, beaucoup de choses sont juste objectspour que vous les trouviez.

var x = [1,2,3,4]; console.log(typeof x) // object console.log(typeof null) // object

Plus d'information:

Documentation MDN pour typeof