一、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(常用!)