前言
数据类型转换是我们在前端开发中经常遇到的场景,一般而言,在 JavaScript 中类型转换有三种情况:
- 转换为数字(调用 Number(),parseInt(),parseFloat()方法)
- 转换为字符串(调用.toString()或 String()方法)
- 转换为布尔值(调用 Boolean()方法)
.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// -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
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 基本数据类型转换相关的知识总结,其中最需要注意的是隐士转换。
~
~本文完,感谢阅读!
~
学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!
大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,欢迎关注,希望大家多多指教!
你来,怀揣期望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!
【JavaScript 基本数据类型转换】知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!
推荐阅读
- 选择篇(022)-下面代码的输出是什么?
- 从0到1搭建组件库
- JS中 &&、|| 和 & 、| 的使用
- Mac 上制作 SSL 证书
- 微信商城小程序开发方式有哪些()
- Form 表单在数栈的应用(下)(深入篇)
- 选择篇(019)-下面代码的输出是什么?
- 选择篇(020)-下面代码的输出是什么?
- 选择篇(018)-下面代码的输出是什么?