一.转换数字
1.转整数
parseInt() 向下取整
//1.1 转整数: parseInt(数据)
let num = '123.22'
console.log(parseInt(num));//123
2.转小数
parseFloat()
//1.2 转小数: parseFloat(数据)
let num = '123.22'
console.log(parseFloat(num));//123.22
3.非字符串类型转number
Number() 也可以转 数字字符串 语义化,一般转非字符型
- 转换 字符串(非数字) 会得到NaN
- NaN特点: 不能参与任何运算,结果一律是NaN
//2.非字符串类型转number
console.log(Number(true))// 1
console.log(Number(false))// 0
console.log(Number(undefined)) // NaN
console.log(Number(null))// 0
console.log(Number('字符串'))// NaN
console.log(NaN==NaN)//false
console.log(NaN>NaN)//false
console.log(NaN<NaN)//false
二.转换string类型
1.String(数据)
//1. String(数据)
console.log(String(123)); //123(字符型)
console.log(String(undefined)); //undefined
console.log(String(true)); //true
console.log(String(false)); //false
console.log(String(null)); //null
2.变量名.toString()
-
如果是undefined与null,这种方式会报错
-
这种方式可以支持进制转换。 例如把 十进制转十六进制
变量名.toString() //可直接转为字符串 变量名.toString(16)//转为16进制
三.转换Boolean
-
false:有七种数据会得到false
0;-0;NaN;'';undefined;null;false console.log(Boolean(0)) //false console.log(Boolean(-0)) //false console.log(Boolean(NaN)) //false console.log(Boolean('')) //false console.log(Boolean(undefined)) //false console.log(Boolean(null))//false console.log(Boolean(false)) //false -
true :除了false七种之外的数据
四.隐式转换
隐式转换 : 当运算符两边的 ‘数据类型不一致’ 的时候,编译器会转成一致后运算
(1)转换数字 : 算术运算符 + - * / %
console.log(1 + +'1'); //11
(2)转换字符串 : 连接符+ (+号两边只要有一边是字符串,此时+就是连接符)
(3)转换布尔: 逻辑非 !