JS数据类型转换

306 阅读2分钟

image.png

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
	! !! 
	===
	&& ||

另外

== 与 ===

  • ==

    操作符==两边会进行隐式转换,如果两边数据类型不相同,则会先转换成相同类型,再进行值是否相等的比较

  • ===

    操作符==== 两边不仅要值相等,数据类型也要相等

参考文章

[juejin.cn/post/695617…] [blog.csdn.net/qq_37777208…]