Maison > Article > interface Web > Comment déterminer le type de valeur en JavaScript
Il existe un opérateur en js qui peut nous aider à déterminer le type d'une valeur, c'est l'opérateur typeof. A travers cet article, je vais partager avec vous comment déterminer le type d'une valeur en JavaScript. Les amis qui en ont besoin peuvent s'y référer
Nous savons qu'il existe un opérateur en js qui peut nous aider à déterminer le type. d'une valeur. C'est le type d'opérateur.
console.log(typeof 123); //number console.log(typeof '123'); //string console.log(typeof true); //boolean console.log(typeof undefined); //undefined console.log(typeof null); //object console.log(typeof []); //object console.log(typeof {}); //object console.log(typeof function() {}); //function
Nous pouvons voir les lacunes de typeof à partir des résultats ci-dessus. Il renvoie respectivement un nombre, une chaîne et un booléen pour les valeurs numériques, les chaînes et les valeurs booléennes. . La fonction renvoie la fonction, undéfini renvoie undéfini Sinon, l'objet est renvoyé dans les autres cas.
Donc, si la valeur de retour est un objet, nous ne pouvons pas savoir si le type de la valeur est un tableau, un objet ou d'autres valeurs. Afin d'obtenir avec précision le type de chaque valeur, nous devons utiliser un autre opérateur instanceof dans js. Parlons brièvement de l'utilisation d'instanceof.
L'opérateur instanceof renvoie une valeur booléenne indiquant si l'objet spécifié est une instance d'un certain constructeur.
Le côté gauche de l'opérateur instanceof est l'objet instance et le côté droit est le constructeur. Il vérifie si l'attribut ptototype du constructeur de droite se trouve sur la chaîne de prototypes de l'objet de gauche.
var b = []; b instanceof Array //true b instanceof Object //true
Notez que l'opérateur instanceof ne peut être utilisé que pour les objets, pas pour les valeurs de type primitif.
Nous pouvons donc combiner les caractéristiques des opérateurs typeof et instanceof pour porter un jugement plus précis sur le type d'une valeur.
//得到一个值的类型 function getValueType(value) { var type = ''; if (typeof value != 'object') { type = typeof value; } else { if (value instanceof Array) { type = 'array'; } else { if (value instanceof Object) { type = 'object'; } else { type = 'null'; } } } return type; } getValueType(123); //number getValueType('123'); //string getValueType(true); //boolean getValueType(undefined); //undefined getValueType(null); //null getValueType([]); //array getValueType({}); //object getValueType(function(){}); //function
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!