04-类型转换

64 阅读1分钟

为什么要类型转换?

  • JavaScript是弱数据类型:JavaScript也不知道变量到底属于哪种数据类型,只有赋值了才清楚。

隐式转换

  • 某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。

规则:

  • +号两边只要有一个是字符串,都会把另外一个转换成字符串
  • 除了+以外的算数运算符 比如 - * / 等都会把数据转成数字类型

缺点:

  • 转换类型不明确,靠经验才能总结

    小技巧:

    ​ +号作为正号解析可以转换成Number

    image-20221014183704469

显式转换

​ 编写程序时过渡依靠系统内部的隐式转换是不严谨的,因为隐式转换规律并不清晰,大多是靠经验总结的经验。为了避免隐式转换带来的问题,通常根逻辑需要对数据进行显式转换。

概念:

​ 自己写代码告诉系统该转成什么类型

转换为数字型:

  • Number(数据)
    • 转成数字类型
    • 如果字符串内容里面有非数字, 转换失败时结果为 NaN (Not a Number) 即不是一个数字
    • NaN也是number类型的数据,代表非数字
  • parselnt(数据)
    • 只保留整数
  • parseFloat(数据)
    • 可保留小数
console.log(parseInt('10.22'))

转换为字符型:

  • String(数据)
  • 变量.toString(进制)
console.log(String(19))

let age = 18 

console.log(age.toString(2))
console.log(age.toString(8))
console.log(age.toString(16))