信息发布→ 登录 注册 退出

JavaScript 基本数据类型转换你了解嘛

发布时间:2026-01-11

点击量:
目录
  • 前言
  • 转换为数字
    • Number(string) 方法
    • parseInt(string, radix)
    • parseFloat(string)
    • 隐式转换
  • 转换为字符串
    • toString()
    • String()
    • 隐式转换
  • 转换为布尔值
    • Boolean()
    • 条件语句
    • 隐式转换
  • 总结

    前言

    数据类型转换是我们在前端开发中经常遇到的场景,一般而言,在 JavaScript 中类型转换有三种情况:

    • 转换为数字(调用 Number(),parseInt(),parseFloat()方法)
    • 转换为字符串(调用.toString()或 String()方法)
    • 转换为布尔值(调用 Boolean()方法)

    需要注意的是:null、undefined 没有.toString() 方法

    转换为数字

    Number(string) 方法

    Number() 可以把任意值转换成数字,如果要转换的目标对象(一般是字符串)中有不是数字的值,则会返回 NaN

    Number('1')   // 1
    Number(true)  // 1
    Number('123s') // NaN
    Number({})  //NaN
    

    parseInt(string, radix)

    解析一个字符串并返回指定基数的十进制整数,radix 是 2-36 之间的整数,表示被解析字符串的基数。

    parseInt('2') //2
    parseInt('2',10) // 2
    parseInt('2',2)  // NaN
    parseInt('a123')  // NaN  如果第一个字符不是数字或者符号就返回NaN
    parseInt('123a')  // 123
    

    parseFloat(string)

    解析一个参数并返回一个浮点数。

    parseFloat('123a')	//123
    parseFloat('123a.01')	//123
    parseFloat('123.01')	//123.01
    parseFloat('123.01.1')	//123.01
    

    隐式转换

    let str = '123'-str// -123str+1 // '1231'+str+1 // 124let res = str - 1 //122let str = '123'
    -str	// -123
    str+1 // '1231'
    +str+1 // 124
    let res = str - 1 //122
    

    转换为字符串

    toString()

    将目标对象转换为字符串。

    注意:null,undefined 不能调用。

    Number(123).toString()	//'123'
    [].toString()	//''
    true.toString()	//'true'
    

    String()

    String() 的作用比较强大,它可以将任何传入的值都转为字符串。

    String(123)	//'123'
    String(true)	//'true'
    String([])	//''
    String(null)	//'null'
    String(undefined)	//'undefined'
    String({})	//'[object Object]'
    

    隐式转换

    当 + 两边有一个是字符串,另一个是其它类型时,会先把其它类型转换为字符串再进行字符串拼接,返回字符串:

    let a = 1
    a + ''	// '1'
    

    转换为布尔值

    Boolean()

    Boolean() 方法会将以下值转换为 false:

    • 0
    • “”
    • null
    • undefined
    • NaN

    其余的所有值都会被转换为 true。

    Boolean('') //false
    Boolean(0) //false
    Boolean(1) //true
    Boolean(null) //false
    Boolean(undefined) //false
    Boolean(NaN) //false
    Boolean({}) //true
    Boolean([]) //true
    

    条件语句

    在条件语句中,我们一般不会主动进行布尔转换。

    let a
    if(a) {
      //...   //这里a为undefined,会转为false,所以该条件语句内部不会执行
    }
    

    隐式转换

    let str = '111'
    console.log(!!str) // true
    

    总结

    以上就是 JavaScript 基本数据类型转换相关的知识总结,其中最需要注意的是隐式转换。

    本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!