JS数据类型

目录

1、数据类型

1.1数据类型分类

1.2typeof检测数据类型

2、undefined和null类型

2.1undefined类型

2.2null类型

2.3undefined和null区别

3、number类型

3.1值的种类

3.2isNaN()方法

3.3parseInt()和parseFloat()转换规则

3.4其他类型转number

3.5其他转number的方法

4、String类型

4.1表示

4.2string类型拼接

4.3长度和下标

4.4String方法其他类型转string

5、boolean类型


1、数据类型

1.1数据类型分类

  • 数据类型分为两大类:基本数据类型、复杂数据类型(引用数据类型)
  • 基本数据类型:number(数值)、boolean(布尔值)、string(字符串)、undefined(未定义)、null(空)、symbol(唯一)、bigint(大整型)
  • 复杂数据类型:object(对象类型)

1.2typeof检测数据类型

  • 使用typeof关键字可以检测数据类型,语法是:typeof 要检测的变量名,例:
var a = "hello";
console.log(typeof a); //检测出来a为字符串
  • typeof还会检测出一些特殊值:typeof检测null得到object,检测function得到function
  • typeof检测的结果都放在字符串中返回给我们了

2、undefined和null类型

2.1undefined类型

  • undefined类型只有一个值就是undefined,一般不会对一个值设置undefined,而是出现错误的时候,才会被打印出来

undefined的触发场景:

  1. 声明变量没有赋值,这个变量的值是undefined
  2. 函数调用没有返回值,返回undefined
  3. 函数被调用的时候没有传递对应的参数,这个参数值为undefined
  4. 获取对象不存在属性时,返回undefined
  • 判断一个值是否是undefined:                                                                                                           方法一:typeof检测(typeof 变量名 === "undefined")                                                             方法二:直接判断变量是否等于undefined(变量名 === undefined)

2.2null类型

  • null类型只有一个值,为null

使用场景:

  1. 定义的变量准备在将来用于保存数据,最好将该变量初始化为null而不是其他值

  2. 把一个对象变成垃圾对象

  3. 函数不想传递某个参数的时候用null占位

  4. 原型链终点

  • 判断一个值是否为null:把变量和null进行全等比较(变量名 === null)

2.3undefined和null区别

  • undefined和null属于两种不同类型
  • undefined隐含着意外的空值,null隐含着意料之中的空值。因此设置一个变量、参数为空的时候,建议使用null而不是undefined

3、number类型

3.1值的种类

  • 十进制数值(整数、浮点数、负数)
  • 二进制数值,0b开头
  • 八进制数值,0o开头(0开头)
  • 十六进制的数值,0x开头
  • 科学计数法
  • Infinity / -Infinity: 向负无穷和正无穷计算的时候都是Infinity或-Infinity;向0靠拢的时候大多都是NaN;在项目中多数出现Infinity可能因为某个除数为0
  • NaN: 特点:NaN和任何数值计算都是NaN;和任何值比较都是false

3.2isNaN()方法

  • isNaN方法可以接受任意类型的值,并强制转为number类型,并检测最终结果是不是NaN,如果是则返回true,否则返回false

3.3parseInt()和parseFloat()转换规则

  • parseInt是一个全局方法,可以把值转化为整数
  • parseFloat是一个全局方法,可以把值转化为浮点数,而第二个小数点视为非法
  • 解析过程:先解析位置0处的字符,如果不是有效数字(或者+ -)则直接返回NaN;如果位置0处的字符是数字,或者可以转换为有效数字,则继续解析位置1处的字符,如果不是有效数字,则直接返回位置0处的有效数字;按从左往右的顺序,逐个分析每个字符,直到发现非数字字符为止

parseInt的基模式:

  1. parseInt中可以书写其他进制类型的字符串,并转为10进制展示,parseFloat没有这个功能
  2. parseInt可以接受第二个参数,代表第一个参数的写法是多少进制,并最终转为十进制表示
  3. parseInt的第二个参数如果写0,默认代表10进制
  4. parseInt的第二个参数如果写1,没有1进制,所以返回NaN

3.4其他类型转number

  • 字符串是纯数字则直接转,如果有其他字符则为NaN
  • 布尔值的true为1,false为0
  • undefined为NaN
  • null为0
  • object大多数转为NaN(空数组为0,只有一个值的数组根据这个值来转)

3.5其他转number的方法

  • “ - ”、“ * ”、“ / ”运算结果都要转为number
  • 最常用一元运算符(在被转的值前添加+)可以把一个值转为number

4、String类型

4.1表示

  • JavaScript字符串(String)就是由零个或多个字符组成的字符序列。零个字符表示空字符串
  • 字符串有三种表示方式:双引号、单引号、反引号

字符串注意事项:

  1. 字符串中存在单引号、双引号、反引号等字符,字符串外层需要使用和内部符号不同的引号包裹
  2. 字符串中可以使用 \(反斜杠)进行转义,把特殊含义的字符转为普通字符,把普通字符转成有特殊含义的字符

4.2string类型拼接

  • 使用加号:如果加号两边有任意一边是字符串,则最终会把两边的字符串拼接到一起得到一个新的字符串
  • 使用反引号插值语法:在反引号字符串的内部想要添加变量,可以把变量书写在${}中

4.3长度和下标

  • 字符串都有一个length属性,表示当前字符串的长度
  • 字符串的每一个字符都有一个下标,下标从0开始一次递增
  • 可以通过下标拿到对应的字符,如:str[n]

4.4String方法其他类型转string

  • number类型先转为正常值,再加引号转为字符串
  • boolean类型直接加引号转为字符串
  • undefined和null直接加引号转为字符串
  • 数组:去掉中括号,加引号转为字符串
  • 对象:直接转为[object object]

toString方法转字符串:

  1. String方法是全局的方法,直接调用,把被转换的值放在String中
  2. toString方法是string、number、boolean、数组、对象等都有的方法(null和undefined没有toString方法)
  3. 给当前某个值直接拼接一个空字符串,也可以转字符串

5、boolean类型

  • boolean类型也被称作布尔值类型,包含true、false两个值(true为真,false为假)
  • true和false常用于做判断使用

使用Boolean方法把其他类型转为boolean类型:

  1. number:非(0和NaN)为true,0和NaN为false
  2. string:非空为true,空为false
  3. undefined和null都是false
  4. 对象类型全是true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值