数据类型
- 基础数据类型:
string,number,boolean, undefined , null
- 复杂数据类型
Object Array Date RegExp
类型检测
-
typeof
-
对于基本类型,除 null 以外,均可以返回正确的结果。
-
对于引用类型,除 function 以外,一律返回 object 类型。
-
对于 null ,返回 object 类型。
-
对于 function 返回 function 类型
-
-
instanceof 判断是否是某个构造函数的实例
不能检测简单数据类型
只能检测复杂数据类型
console.log("数字", 10 instanceof Number) console.log("布尔", true instanceof Boolean) console.log("字符串", "" instanceof String) console.log("对象", {} instanceof Object) console.log("函数", function(){} instanceof Function) console.log("数组", [] instanceof Array)
-
constructor 判断构造函数
console.log("数字", (10).constructor == Number) console.log("字符串", ('你好').constructor == String) console.log("布尔", (true).constructor == Boolean) console.log("对象", ({}).constructor == Object) console.log("数组", ([]).constructor == Array) console.log("函数", (function () { }).constructor == Function)
-
toString
Object.prototype 原型对象 __proto__ 原型 console.log("数字",Object.prototype.toString.call(1)) console.log("字符串",Object.prototype.toString.call("")) console.log("布尔",Object.prototype.toString.call(true)) console.log("对象",Object.prototype.toString.call({})) console.log("数组",Object.prototype.toString.call([])) console.log("函数",Object.prototype.toString.call(function(){}))