JavaScript 的数据类型
1. 基本数据类型(7个)
- 数值型: Number
- 字符串: String
- 布尔类型: Boolean
- 空值: Null
- 未定义型: Undefined
- Symbol
- BigInt
2. 引用数据类型(3个)
- 函数: Function
- 对象: Object
- 数组: Array
3. null 和 undefined 的区别
3.1 null : 声明了,也赋值了,但是值为空
let num =null
console.log(num)//null
3.2 undefined : 只声明,不赋值
let num
console.log(num)//undefined
3.3 null 与 undefined 的等值判断
console.log(null==undefined)//true
console.log(null===undefined)//false
4. 数据类型的转换
4.1 隐式转换
当运算符左右两边的数据类型不一致时,编译器会自动转成一致后计算
- 转 String : 连接符 +
- 转 Number : 数学正号 + ,数学运算:+ - * /
console.log('你好,'+18+'岁')//你好,18岁
console.log(18*2+10)//46
4.2 显示转换(强制转换)
用 js 语法来转换
转 Number
- 字符串转整数:paresInt (数据)
- 字符串转小数:paresFloat (数据)
- 其他类型转数字:Number (数据)
console.log(parseInt('123a你好呀'))//123
console.log(parseFloat('3.14.hello!'))//3.14
console.log(Number('123.4.abc'))// NaN
console.log(Number(false))// 0
console.log(Number(undefined))// NaN
console.log(Number(null))// 0
转 String
- String(数据): 常用,可以转 null 和 undefined
- 变量名.toString(): 少用,不可以转 null 和 undefined
let num=10
console.log(String(num))//字符串 10
console.log(typeof String(num))// string
console.log(String(null))//字符串 null
console.log(typeof String(null))// string
console.log(String(undefined))//字符串 undefined
console.log(typeof String(undefined))// string
let num=20
console.log(num.toString())//字符串 20
console.log(typeof num.toString())// string
console.log(undefined.toString())//报错
console.log(null.toString())//报错
转 Boolean
由于布尔类型只有两个值true和false,因此任何数据转布尔只会得到两种情况。得到 flase的八种数据情况如下:
console.log(Boolean(undefined))//false
console.log(Boolean(null))//false
console.log(Boolean(''))//false
console.log(Boolean(0))//false
console.log(Boolean(-0))/false
console.log(Boolean(NaN))//false
console.log(Boolean(false))//false
console.log(Boolean(document.all))// 'all' 已弃用,顾不算
console.log(Boolean(1-1))//false
那么,得到true:除了以上八种之外的任意数据