JS中一共七种原始值
- Number
- Bigint
- String
- Boolean
- Null
- Undefind
- Symbol
七种原始值是构成各种数据的基石
原始值在JS中不可变类型,一旦创建不可修改
数值(Number)
- 在js中所有整数和浮点数都是Number类型
- JS中数值并不是无限大,当数值超过一定范围会显示近似值
- Infinity是一个特殊的值表示无穷
- 计算一些高精度的运算值要注意
- NaN(Not a number)表示非法的数值
大整数(Bigint)
- 大整数用来表示一些比较大的整数
- 大整数使用n来结尾,表示范围无限大,以内存为准
- 目前大整数只能和大整数进行运算
其他进制数字
- 二进制 0b
- 八进制 0o
- 十六进制 0x
类型检查
typeof 运算符 用来检查不同值的类型,根据不同的值返回不同的结果
字符串
在js中用单引号或双引号来表示字符串
转义字符
" --> "
’ --> ’
\ -->
\n --> 换行
\t --> 制表符
- 模板字符串
- 使用反单引号` 来表示模板字符串
- 模板字符串之间可以嵌入变量
let name="孙悟空" let str=
你好,${name}console.log(str)
布尔值(boolean)
- 布尔值主要用于逻辑判断
- 布尔值只有true和false
空值(null)
- 空值用来表示空对象
- 空值只有一个null
- 使用typeof检查一个空值返回"object"
- 使用typeof无法检查空值
未定义(Undefined)
- 当一个变量没赋值时,它的值就是Undefined
- Undefined类型只有一个就是Undefined
- 使用typeof检查一个Undefined类型的值,会返回"Undefined"
符号(Symbol)
- 用来创建一个唯一标识
- 使用typeof检查符号时返回”Symbol"
类型转换
类型转换-字符
转换为字符串(因为原始值不可改变,所以类型转换是创建一个新的类型)
- 调用toString() 方法将其他类型转换为字符串
- 调用xxx的yyy方法—>xxx.yyyy()
- 由于null和undefined中没有toString(),所以这两个调用toString()会报错
- 调用String()函数将其他类型转换为字符串
- 调用xxx函数 --> xxx()
- 原理: 调用toString()方法的值调用String()函数时,实际上就是在调用toString()方法
- 对于null,则转换为"null"
- 对于undefined,直接转换为"undefined"
类型转换-数字
将其他数据类型转换为数值
- 使用Nnumber()函数将其他类型转换为数值
转换的情况
- 字符串:
- 如果字符串是合法的数字,则会自动转换为相应的数字
- 如果字符串不是合法数字,则转换为Nan
- 如果字符串是空串或纯空格的字符串,则转换为0
- 布尔值:
- true转换为1,false转换为0
- null转换为0
- undfined 转换为NaN
专门用来将字符串转换为数值的两个方法 - parseInt() --将一个字符串转换为一个整数
- 解析时,会自左向右读取一个字符串,直到读取到字符串所有的有效的整数
- parseFloat() --将一个字符串转换为浮点数
- 解析时,会自左向右读取一个字符串,直到读取到字符串所有的有效的小数
类型转换——布尔值
- 使用Boolean()函数来将其他值转换为布尔值
- 转换的情况:
数字:除了0和NaN转换为false,其他都是true
字符串:空串转换为false,其他都是true
null和undefined都转换为false
对象都会转换为true
——== 所有表示空性的没有的错误的值都会转换为false:==
0,NaN,空串,null, undefined,false