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 = 1a + '' // '1'
注意:
当 + 两边有一个是字符串,另一个是其它类型时,会先把其它类型转换为字符串再进行字符串拼接
布尔类型(boolean)的隐式转换
以下会自动转换成布尔类型if()while switch! !! ===&& ||
另外
== 与 ===
==
操作符==两边会进行隐式转换
,如果两边数据类型不相同,则会先转换成相同类型
,再进行值是否相等的比较
===
操作符==== 两边不仅要值相等,数据类型也要相等
参考文章
[https://juejin.cn/post/6956170676327677966] [https://blog.csdn.net/qq_37777208/article/details/83586470]
原文:https://juejin.cn/post/7096326307155279885