js中的数据类型相互转换

245 阅读1分钟

一.转换数字

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)转换布尔: 逻辑非 !