二、JS的数据类型及数据类型的转换

135 阅读3分钟

一、JS数据类型的分类

  1. JS由基本数据类型和引用数据类型组成。
  2. 基本数据类型包括:
  • 数值类型Number
  • 字符串类型String
  • 布尔类型Boolean
  • Undefined类型
  • Null类型
  1. 引用数据类型包括:对象类型、数组类型、函数类型等。

本篇文章主要详细讲解基本数据类型。

二、基本数据类型(Number)

  1. 数值类型(Number):正数、负数、0、科学计数法等都是数值
  2. 字符串类型(String):以单引号或双引号包裹内容。
  3. Boolean类型:两个值,true为真,false为假。(主要用在判断上)
  4. Null类型:表示有值,但是是一个空值(使用场景:创建对象的时候,不知道对象内部有什么,可以给一个Null)
  5. Undefined类型:表示没有值(也是默认的)

三、数据类型的检测

我们一般使用"typeof"关键字来进行数据类型的检测

  • 语法:typeof(要检测变量)
  • 结果:该变量储存的数据类型
  1. 检测数值类型返回Number;
  2. 检测字符串类型返回String;
  3. 检测布尔类型返回Boolean;
  4. 检测Null类型返回Object;
  5. 检测Undefined数值类型返回Undefined。

typeof能正确检测所有数据类型吗?

答案:不能,因为typeof不能正确检测Null的数据类型

四、数据类型的转换

(一)转数值

  1. 语法一:Number(),结果:转换好的数值类型。
  • 字符串转数字:
      • 如果转换的字符串是由纯数字组成的,那么直接转换为数字。
      • 如果字符串是由空字符串或空白字符串组成,那么直接转换为数字0。
      • 如果是其它字符串,那么直接转换为NaN。
  • 布尔转数字
      • true转为1
      • false转为0
  • Undefined转为NaN
  • Null转为0
  1. 语法二:parseInt(),结果:将数据转换为整数。
  • 解析规则:要把转换的内容一位一位的看,只有第一位就不是合法数字的时候,才会出现NaN,否则把前面的数字保留。 3.语法三:parseFloat(),结果:把数据转换为浮点数(小数)。
  • 解析规则:同parseInt,不同之处是parseInt只能转整数,而parseFloat可以转小数。
  1. 在实际开发中,可以使用“数据-0”快速实现数据的转换。

(二)转字符串

  1. 语法一:String()
  • 此种语法没有限制,可以将任何数据转换为字符串类型。

image.png 2. 语法二:to String()

  • 此种方法有限制,当转换Undefined和Null类型时会报错,因为JS里没有提供转换此类类型的程序。

image.png 3. 在实际开发中,变量+‘’,可以快速实现数值的转换。(此种方法也没有限制)

(三)转布尔

  1. 数字转布尔:只有0转换为false,其他数字都转换为true。

image.png 2. 字符串转布尔:只有空字符串转false,其他转为true。

image.png 3. 空类型(undefined、null):转为false(常用!)

image.png