前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 基本数据类型转换

JavaScript 基本数据类型转换

原创
作者头像
编程三昧
发布2022-01-22 20:55:50
6490
发布2022-01-22 20:55:50
举报
文章被收录于专栏:编程三昧编程三昧
数据类型转换.001
数据类型转换.001

前言

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

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

需要注意的是:null、?developer/article/1938419/undefined 没有.toString() 方法

转换为数字

Number(string) 方法

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

代码语言:javascript
复制
Number('1')   // 1
Number(true)  // 1
Number('123s') // NaN
Number({})  //NaN

parseInt(string, radix)

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

代码语言:javascript
复制
parseInt('2') //2
parseInt('2',10) // 2
parseInt('2',2)  // NaN
parseInt('a123')  // NaN  如果第一个字符不是数字或者符号就返回NaN
parseInt('123a')  // 123

parseFloat(string)

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

代码语言:javascript
复制
parseFloat('123a')	//123
parseFloat('123a.01')	//123
parseFloat('123.01')	//123.01
parseFloat('123.01.1')	//123.01

隐式转换

代码语言:javascript
复制
let str = '123'
-str	// -123
str+1 // '1231'
+str+1 // 124
let res = str - 1 //122

转换为字符串

toString()

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

注意:null,?developer/article/1938419/undefined 不能调用。

代码语言:javascript
复制
Number(123).toString()	//'123'
[].toString()	//''
true.toString()	//'true'

String()

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

代码语言:javascript
复制
String(123)	//'123'
String(true)	//'true'
String([])	//''
String(null)	//'null'
String(?developer/article/1938419/undefined)	//'?developer/article/1938419/undefined'
String({})	//'[object Object]'

隐式转换

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

代码语言:javascript
复制
let a = 1
a + ''	// '1'

转换为布尔值

Boolean()

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

  • 0
  • ""
  • null
  • ?developer/article/1938419/undefined
  • NaN

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

代码语言:javascript
复制
Boolean('') //false
Boolean(0) //false
Boolean(1) //true
Boolean(null) //false
Boolean(?developer/article/1938419/undefined) //false
Boolean(NaN) //false
Boolean({}) //true
Boolean([]) //true

条件语句

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

代码语言:javascript
复制
let a
if(a) {
  //...   //这里a为?developer/article/1938419/undefined,会转为false,所以该条件语句内部不会执行
}

隐式转换

代码语言:javascript
复制
let str = '111'
console.log(!!str) // true

总结

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

~本文完,感谢阅读!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 转换为数字
    • Number(string) 方法
      • parseInt(string, radix)
        • parseFloat(string)
          • 隐式转换
          • 转换为字符串
            • toString()
              • String()
                • 隐式转换
                • 转换为布尔值
                  • Boolean()
                    • 条件语句
                      • 隐式转换
                      • 总结
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                      http://www.vxiaotou.com