跳到主要内容

数据类型转换

1.检查数据类型

  • 使用 typeof 操作符来查看 JavaScript 变量的数据类型
  • js 里万物都是对象 object, 所以除了几个特殊类型,其他返回都是 object
logd(typeof "John")                    // 返回 string 
logd(typeof 3.14) // 返回 number
logd(typeof NaN) // 返回 number
logd(typeof false) // 返回 boolean
logd(typeof [1, 2, 3, 4]) // 返回 object
logd(typeof {name: 'John', age: 34}) // 返回 object
logd(typeof new Date()) // 返回 object
logd(typeof function () {
}) // 返回 function
logd(typeof myCar) // 返回 undefined (如果 myCar 没有声明)
logd(typeof null) // 返回 object

2.将数字转换为字符串

  • 全局方法 String() 可以将数字转换为字符串
  • Number 方法 toString() 也是有同样的效果
  • 但最简单的方法是在原内容上 + ""
let a = 1
logd(typeof a) // 返回 number
a = a + ""
logd(typeof a) // 返回 string

// 或
a = 1
a += ""
logd(typeof a) // 返回 string

a = true
logd(typeof a) // 返回 boolean
a += ""
logd(typeof a) // 返回 string

3.将字符串转换为数字

  • 全局方法 Number() 可以将字符串转换为 数字
    • 在字符串前加一个 + , 可以达到 Number 效果
    • 在字符串后面 - 0 , 可以达到 Number 效果
  • 全局方法 parseInt() 可以将字符串转换为 整数
    • 在字符串前加 ~~ 也可达到 parseInt 效果
  • 全局方法 parseFloat() 可以将字符串转换为 浮点数(小数)
logd(Number("3.14"))    // 返回 3.14
logd(Number(" ")) // 返回 0
logd(Number("")) // 返回 0
logd(Number("99 88")) // 返回 NaN

logd(+"3.14") // 返回 3.14
logd("3.14" - 0) // 返回 3.14

logd(parseInt("3.14")) // 返回 3
logd(~~"3.14") // 返回 3

logd(parseFloat("3.14")) // 返回 3.14

4.对象与字符串JSON互转

5.转为布尔值

  • 一般用于 if 等判断时需要转为 boolean ,不过判断时程序已经帮我们转过了,不需要手动转换,直接判断即可
  • 全局方法 Boolean() 可以将其他类型转换为 布尔值
    • 在变量前加 !! 可快速转换
let a = "abc"
logd(!!a) // 返回 true

6.一些奇怪的转换

类型转换