JS数据类型转换
这里写目录标题
基本概念
js中一般分为六种数据类型:String,Number , Boolean , Null , Undefined , Object
基本数据类型转换
一. 转为数值类型(Number)
- Number():如果要转换的字符串中有一个不是数值的字符,返回NaN
console.log(Number(‘‘123’’)); // 123
console.log(parseInt(“a123”));// NaN - parseInt():如果要转换的字符串中有一个不是数值的字符,返回NaN
console.log(parseInt(“123”));// 123
console.log(parseInt(“a123”));// NaN - parseFloat():返回一个浮点数
parseFloat(“123.01”); //123.01
二. 转为字符串类型(String)
- toString():不能转null和undefined
var a = 123
a = a.toString()
console.log(a);// 123
console.log(typeof a)// string - String():可以转null和undefined
var a = 123;
a = String(a);
console.log(a);// 123
三.转为布尔类型(Boolean)
- Boolean():
var s = “false”;
s = Boolean(s);
console.log(s) //true
注意
:
Boolean() 方法会将以下值转换为 false:
0
“” ( 空串)
null
undefined
NaN
其余的所有值都会被转换为 true。
隐式类型转换
定义
js中的数据类型是非常弱的,在使用算数运算符时,运算符两边的数据类型可以是任意的,比如,一个字符串可以和一个数字相加。之所以不同的数据类型之间可以做运算,是因为js引擎在运算之前会悄悄地把他们进行了隐式类型转换。
数值类型(Number)的隐式转换:
let a = '123'
a+1 // '1231'
let b = a - 1 //122
注意:
数值类型隐式转换式,先判断是否有+号,进行字符串拼接,再进行四则运算
字符串类型(String)隐式转换
let a = 1
a + '' // '1'
注意:
当 + 两边有一个是字符串,另一个是其它类型时,会先把其它类型转换为字符串再进行字符串拼接
布尔类型(boolean)的隐式转换
以下会自动转换成布尔类型
if()
while
switch
! !!
===
&& ||
另外
== 与 ===
- ==
操作符==两边会进行
隐式转换
,如果两边数据类型不相同,则会先转换成相同类型
,再进行值是否相等的比较 - ===
操作符==== 两边不仅要值相等,数据类型也要相等
参考文章
[https://juejin.cn/post/6956170676327677966]
[https://blog.youkuaiyun.com/qq_37777208/article/details/83586470]