博主信息
博文 91
粉丝 0
评论 0
访问量 99369
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
JavaScript 基本数据类型转换
编程三昧
原创
838人浏览过

数据类型转换.001

前言

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

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

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

转换为数字

Number(string) 方法

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

  1. Number('1') // 1
  2. Number(true) // 1
  3. Number('123s') // NaN
  4. Number({}) //NaN

parseInt(string, radix)

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

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

parseFloat(string)

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

  1. parseFloat('123a') //123
  2. parseFloat('123a.01') //123
  3. parseFloat('123.01') //123.01
  4. parseFloat('123.01.1') //123.01

隐式转换

  1. let str = '123'
  2. -str // -123
  3. str+1 // '1231'
  4. +str+1 // 124
  5. let res = str - 1 //122

转换为字符串

toString()

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

注意:null,undefined 不能调用。

  1. Number(123).toString() //'123'
  2. [].toString() //''
  3. true.toString() //'true'

String()

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

  1. String(123) //'123'
  2. String(true) //'true'
  3. String([]) //''
  4. String(null) //'null'
  5. String(undefined) //'undefined'
  6. String({}) //'[object Object]'

隐式转换

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

  1. let a = 1
  2. a + '' // '1'

转换为布尔值

Boolean()

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

  • 0
  • “”
  • null
  • undefined
  • NaN

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

  1. Boolean('') //false
  2. Boolean(0) //false
  3. Boolean(1) //true
  4. Boolean(null) //false
  5. Boolean(undefined) //false
  6. Boolean(NaN) //false
  7. Boolean({}) //true
  8. Boolean([]) //true

条件语句

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

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

隐式转换

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

总结

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

~

~本文完,感谢阅读!

~

学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢迎关注,希望大家多多指教!

你来,怀揣期望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!

知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学