number数值类型
一切数学中数字
作用:数学计
string字符串类型
一切以引号包裹起来的内容:
单引号 '' 拼接:+
双引号""
反引号(模板字符串) `` ${变量名}
boolean布尔类型
只有两个值 true false
undefined未定义
变量有声明,未赋值.
默认值是undefined
null空值
检测数据类型
typeof数据
得到一个字符串,告诉你数据是什么类型
数据类型转换
瘾式转换
隐式转换 : 当运算符两边的 ‘数据类型不一致’ 的时候,编译器会转成一致后运算
(1)转换数字 : 算术运算符 + - * / %
(2)转换字符串 : 连接符+ (+号两边只要有一边是字符串,此时+就是连接符)
(3)转换布尔: 逻辑非
// 转数字 : 算术运算符
console.log('10' - 1)
console.log(1 + true) // + 只要没有字符串就是+
console.log(+'10') //这个代表正号
// + 只要有字符串就是连接符
console.log('10' + true);
//专布尔
console.log(!1) //false !Boolean(1)
console.log(!null); //true !Boolean(null)
显示转换
转number类型 parseInt parseFloat Number()
//1.字符串类型转number
//1.1 转整数: parseInt(数据)
console.log(parseInt("3.3a")); //3
//1.2 转小数: parseFloat(数据)
console.log(parseFloat("3.33a")); //3.33
//2.非字符串类型转number
console.log(Number(true));//1
console.log(Number(false));//0
console.log(Number(null));//0
console.log(Number(undefined));//NaN
转string类型 String toString
//1. String(数据)
console.log(String(123)); //'123'
//2. 变量名.toString()
/* a. 如果是undefined与null,这种方式会报错
b. 这种方式可以支持进制转换。 例如把 十进制转十六进制
*/
let num = 255
//toString()默认是十进制
console.log(num.toString(16)) //里面的16代表转换为16进制
console.log(num.toString(2)) //里面的2代表转换为2进制
转boolear类型
/* 1.false: 有7种数据会得到false
0 -0 NaN '' undefine null false
2.true: 除false 7种之外的一切数据
*/
//1.false
console.log(Boolean(0))
console.log(Boolean(-0))
console.log(Boolean(NaN))
console.log(Boolean(undefined))
console.log(Boolean(null))
console.log(Boolean(false))
console.log(Boolean(''))