typeof运算符用来判断变量类型
var a="字符串类型";
console.log(typeof(a))//输出string
两大类:
原始类(primitive type)又称基本类型:数值(整数/浮点数)number,字符串string,布尔值boolean
对象类型(object type):属性的集合,每一个由key和value组成,key是字符串,value可以为原始类型,也可以是对象类型
另有资料显示:5 种基本数据类型:boolean、null、undefined、number 和 string 类型
1种复杂数据类型:Object类型
原始类型:boolean、number 和 string 类型
包装类型:Boolean、Number 和 String 类型
特殊类型:Null 和 Undefined 类型
引用类型:Array、RegExp、Date、… … 类型
特殊类型
1.null
** 2.undefind**
注意:由于js为动态语言,所以定义时不需要定义类型,初始化时它会根据初始化值来改变数据类型
例如:
var c=20;
var a=abc;
由最后给变量定义的值来决定最终类型
数据类型包装:封装后统一为object对象型,对象型有属性和方法
采用包装的方法:Boolean布尔类型:
new Biikean(true)//只能转换false与true
数值Number类型:
new Number(100)
如果不是数值类型,会先转换成数值型,若无法转换,则返回NaN
字符串类型String:
new String(100)//将其转成字符串
instanceof 运算符
由于包装类型种的所有数据类型,在 JavaScript 语言中本质上就是一个对象。使用 typeof 运算符之后得到的结果是 object,所以使用 typeof 运算符是无法准确判断包装类型的。
我们可以使用 JavaScript 语言中的 instanceof 运算符来判断包装类型中的具体数据类型。其语法结构如下所示:
var a=new String("100")//将其转成字符串
conse.log(str instanceof String)
//输出true
如上结果所示,instanceof 运算符返回一个 boolean 类型的结果:
如果结果为 true,则表示当前变量的类型是指定的包装类型。
如果结果为 false,则表示当前变量的类型不是指定的包装类型。