共计 1615 个字符,预计需要花费 5 分钟才能阅读完成。
前言
数据类型转换是咱们在前端开发中常常遇到的场景,一般而言,在 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 // -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 根本数据类型转换相干的常识总结,其中最须要留神的是隐士转换。
~
~ 本文完,感激浏览!
~
学习乏味的常识,结识乏味的敌人,塑造乏味的灵魂!
大家好,我是〖编程三昧〗的作者 隐逸王 ,我的公众号是『编程三昧』,欢送关注,心愿大家多多指教!
你来,怀揣冀望,我有墨香相迎!你归,无论得失,唯以余韵相赠!
常识与技能并重,内力和外功兼修,实践和实际两手都要抓、两手都要硬!
正文完
发表至: javascript
2022-01-22