1.1类型检查
typeof 运算符
- typeof用来检查不同的值的类型
- 它会根据不同的值返回不同的值返回不同的结果
let a=10
let arr='dasdsa'
console.log(typeof a)//Nuber
console.log(typeof arr)
1.2原始值
1.2.1数值
注意:
- 在JS中所有的整数和浮点数都是Number类型
- JS中的数值并不是无限大的,当数值超过一定范围后会显示近似值
- Infinity 是一个特殊的数值表示无穷
- 所以在JS中进行一些精度比较高的运算时要十分注意
- NaN也是一个特殊的数值,表示非法的数值
let arr=99999999999999991
arr=Infinity
arr=0.1+0.2
console.log(arr)
1.2.2 大整数(Bight)
- 大整数用来表示一个比较大的整数
- 大整数使用n结尾,它可以表示的数字范围是无限大的
let num=555555555555555555555555n
console.log(num)
1.2.3字符串(String)
- 在js中使用单引号或双引号来表示字符串
let arr='hello'
arr="你哦好"
转义字符:
JavaScript中使用/
作为转义字符,转义字符用以表示一些特殊的符号,比如:
\"--" \'--', \\--\\ \t--制表符 \n--换行
arr='aaa\'zzzzz'
arr='解决\tmmm'
arr='解决\n mmm'
模板字符串:
- 使用返单引号`俩表示模板字符串
- 模板字符串可以嵌入变量
- 使用typrof检查字符串返回的都是String
arr=`kkkk
mmmm
`
let name='张三'
let age=`你好,${name}`
1.2.4 布尔值(boolean)
- 布尔值主要用来进行逻辑判断
- 布尔值只有两个true 和false
let arr=true//真
arr=false//假
1.2.5空值(null)
- 空值用来表示空对象
- 空值只有一个null
- 使用typeof检查会返回一个object
let num=null
console.log(typeof num)
1.2.6未定义(Undefined)
- 当声明一个变量而没有赋值时,它的值就是Undefined
- Undefined类型的值只有一个就是undefined
- 使用typeof检查一个Undefined类型的值时,会返回"undefined"
let Unde
console.log(typeof Unde)
1.2.7符号(Symbol)
- 用来创建一个唯一的标识
- 使用typeof检查这个符号返回的是Symbol
let Sym=Symbol()
console.log(typeof Sym)
1.3类型转换
1.3.1.类型转换-字符串
1.调用toString()方法将其他类型转换为字符串
调用xxx的yyy方法
xxx.yyy()
由于null和undefined中没有toString()
所以对这两个东西调用toString()时会报错
2. 调用String()函数将其他类型转换为字符串
调用xxx函数
-- xxx()
原理:
对于拥有toString()方法的值调用String()函数时,
实际上就是在调用toString()方法
对于null,则直接转换为"null"
对于undefined,直接转换为"undefined"
let a = 10 // "10"
a = true // "true"
a = 11n // "11"
a = undefined
// console.log(typeof a, a)
// a = a.toString() // "10"
// console.log(typeof a, a)
let b = 33 // "33"
b = null // "null"
b = undefined // "undefined"
b = true
console.log(typeof b, b)
b = String(b)
console.log(typeof b, b)
1.3.2类型转换-数值
1.Number()函数来将其他类型转换为数值
转换的情况:
字符串:
如果字符串是一个合法的数字,则会自动转换为对应的数字
如果字符串不是合法数字,则转换为NaN
布尔值:
true转换为1dalse转换为0
null转换为9
undefined转换为NaN
专门用来将字符串转换为数值的两个方法
parseInt( ) —将一个字符串转换为一个整数
-解析时会自动向左读取一个字符串知道读取到字符串有效的整数
也可以使用parseInt( )来对一个数字进行取整
parseFloat( ) 一将一个字符串转换为浮点数
-解析时会自动向左读取一个字符串知道读取到字符串有效的整数
let arr='123'
arr='dasdas'
arr=true
console.log(typeof arr,arr)
arr=Number(arr)
console.log(typeof arr,arr)
let a='213px'
a=parseInt(a)
a=parseFloat(a)
console.log(typeof a,a)
1.3.3类型转换-布尔值
1.使用Boolean()函数来将其他类型转换为布尔值
转换的情况:
数字:
0和NaN转换为false
其余时true
字符串:
空串转换为false
其余都是true
null和undeined都转换为false
let arr=1//true
arr=0//false
arr='asd'//true
arr=''//false
arr=null//false
arr=undefined//false
console.log(typeof arr)
arr=Boolean(arr)
console.log(arr)