一、JS数据类型的分类
JS由基本数据类型和引用数据类型组成。
基本数据类型包括:
数值类型Number
字符串类型String
布尔类型Boolean
Undefined类型
Null类型
引用数据类型包括:对象类型、数组类型、函数类型等。
本篇文章主要详细讲解基本数据类型。
二、基本数据类型(Number)
数值类型(Number):正数、负数、0、科学计数法等都是数值
字符串类型(String):以单引号或双引号包裹内容。
Boolean类型:两个值,true为真,false为假。(主要用在判断上)
Null类型:表示有值,但是是一个空值(使用场景:创建对象的时候,不知道对象内部有什么,可以给一个Null)
Undefined类型:表示没有值(也是默认的)
三、数据类型的检测
我们一般使用"typeof"关键字来进行数据类型的检测
语法:typeof(要检测变量)
结果:该变量储存的数据类型
检测数值类型返回Number;
检测字符串类型返回String;
检测布尔类型返回Boolean;
检测Null类型返回Object;
检测Undefined数值类型返回Undefined。
typeof能正确检测所有数据类型吗?
答案:不能,因为typeof不能正确检测Null的数据类型
四、数据类型的转换
(一)转数值
语法一:Number(),结果:转换好的数值类型。
字符串转数字:
如果转换的字符串是由纯数字组成的,那么直接转换为数字。
如果字符串是由空字符串或空白字符串组成,那么直接转换为数字0。
如果是其它字符串,那么直接转换为NaN。
布尔转数字
true转为1
false转为0
Undefined转为NaN
Null转为0
语法二:parseInt(),结果:将数据转换为整数。
解析规则:要把转换的内容一位一位的看,只有第一位就不是合法数字的时候,才会出现NaN,否则把前面的数字保留。3.语法三:parseFloat(),结果:把数据转换为浮点数(小数)。
解析规则:同parseInt,不同之处是parseInt只能转整数,而parseFloat可以转小数。
在实际开发中,可以使用“数据-0”快速实现数据的转换。
(二)转字符串
语法一:String()
此种语法没有限制,可以将任何数据转换为字符串类型。
2. 语法二:to String()
此种方法有限制,当转换Undefined和Null类型时会报错,因为JS里没有提供转换此类类型的程序。
3. 在实际开发中,变量+‘’,可以快速实现数值的转换。(此种方法也没有限制)
(三)转布尔
数字转布尔:只有0转换为false,其他数字都转换为true。
2. 字符串转布尔:只有空字符串转false,其他转为true。
3. 空类型(undefined、null):转为false(常用!)