判断数据类型
JS判断数据类型的方法有以下几种实现方式:
-
使用typeof操作符:typeof操作符可以返回某个值的数据类型,常用的数据类型有"undefined"、"boolean"、"number"、"string"、"object"和"function"。例如:
typeof 42; // 返回 "number" typeof 'hello'; // 返回 "string" typeof true; // 返回 "boolean" typeof {}; // 返回 "object" typeof function(){}; // 返回 "function" typeof undefined; // 返回 "undefined"
-
使用Object.prototype.toString方法:通过调用Object.prototype.toString方法,可以得到一个对象的具体类型。例如:
Object.prototype.toString.call(42); // 返回 "[object Number]" Object.prototype.toString.call('hello'); // 返回 "[object String]" Object.prototype.toString.call(true); // 返回 "[object Boolean]" Object.prototype.toString.call({}); // 返回 "[object Object]" Object.prototype.toString.call(function(){}); // 返回 "[object Function]" Object.prototype.toString.call(undefined); // 返回 "[object Undefined]"
-
使用instanceof操作符:instanceof操作符可以检测一个对象是否属于某个特定的类型。例如:
42 instanceof Number; // 返回 false 'hello' instanceof String; // 返回 false true instanceof Boolean; // 返回 false {} instanceof Object; // 返回 true (function(){}) instanceof Function; // 返回 true undefined instanceof Undefined; // 抛出异常(Undefined为非构造函数)
-
使用constructor属性:constructor属性指向创建该对象的构造函数。通过判断对象的constructor属性,可以得到对象的具体类型。例如:
(42).constructor; // 返回 Number 'hello'.constructor; // 返回 String true.constructor; // 返回 Boolean ({}).constructor; // 返回 Object (function(){}).constructor; // 返回 Function undefined.constructor; // 抛出异常(undefined没有constructor属性)
这些都是JS中常用的判断数据类型的方法,不同的方法有不同的使用场景。根据具体需求,可以选择其中的一种或多种方法进行数据类型的判断。

浙公网安备 33010602011771号