L'utilisation de l'opérateur de type pour une valeur peut renvoyer l'une des chaînes suivantes:
"Undefined" - si cette valeur n'est pas définie
"booléen" - si cette valeur est un booléen
"String" - Si cette valeur est une chaîne
"Numéro" - Si cette valeur est une valeur numérique
"Object" - Si c'est un objet ou nul
"fonction" - si cette valeur est une fonction
Les valeurs de retour des opérateurs de type couramment utilisées incluent le nombre, la chaîne, le booléen, les non définis, l'objet et la fonction. comme:
La copie de code est la suivante:
var n;
console.log (type de n); // non défini "
n = 1;
console.log (typeof n);
n = "1";
console.log (typeof n); // string "
n = false;
console.log (type de n); // "boolean"
n = {nom: "obj"};
console.log (typeof n); // objet "
n = nouveau nombre (5);
console.log (typeof n); // objet "
n = fonction () {return;};
console.log (typeof n); // fonction "
Ces exemples montrent que l'opérande de l'opérateur de type peut être une variable (message) ou un littéral numérique. Notez que le typeof est un opérateur plutôt qu'une fonction, donc les parenthèses dans l'exemple ne sont pas nécessaires (bien qu'elles puissent être utilisées).
À partir de l'exemple ci-dessus, nous avons constaté que les nombres créés avec Number () seront également jugés en tant qu'objets par typeof et renvoient la valeur "objet". Que dois-je faire lorsque des objets intégrés JavaScript tels que la chaîne, le tableau, l'objet de fonction, l'objet date, l'objet booléen et l'objet d'erreur? Ici, vous pouvez appeler la méthode ToString de l'objet, comme:
La copie de code est la suivante:
var n, res;
n = nouveau nombre (66);
res = object.prototype.tostring.call (n);
console.log (res);
n = new String ("String");
res = object.prototype.tostring.call (n);
console.log (res);
n = [];
res = object.prototype.tostring.call (n);
console.log (res);
// ...