JavaScript常见类型转换

转换为
字符串
转换为
数字
转换为
布尔值
转换为
对象
undefined“undefined”NaNfalsethrows TypeError
null“null”0falsethrows TypeError
true“true”1new Boolean(true)
false“false”0new Boolean(false)
“”(空字符串)0falsenew String("")
“1.2”(非空,数字)1.2truenew String(“1.2”)
“one”(非空,非数字)NaNtruenew String(“one”)
0“0”falsenew Number(0)
-0“0”falsenew Number(-0)
NaN“NaN”falsenew Number(NaN)
Infinity“Infinity”truenew Number(Infinity)
- Infinity“-Infinity”truenew Number(-Infinity)
1(无穷大,非零)“1”truenew Number(1)
{}(任意对象)true
[](任意数组)“”0true
[9](1个数字元素)“9”9true
[‘a’](其他数组)使用join()方法NaNtrue
function(){}(任意函数)NaNtrue

字符串转换为数字

  • 以数字表示的字符串可以转换为数字,允许在开始和结尾处带有空格。
  • 但在开始和结尾处的任意空格都不会被当成数字直接量的一部分,进而造成字符串转换为数字的结果为NaN.

转换和相等性

下面的比较结果均是true:

null == undefined	// 这两值被认为相等
"0" == 0			// 在比较之前字符串转换成数字
0 == false			// 在比较之前布尔值转换成数字
"0" == false		// 在比较之前字符串和布尔值都转换成数字

Notes:

  • 一个值转换为另一个值并不意味着两个值相等。
    undefined == false // false
    
    "=="运算符从不试图将其操作数转换为布尔值
  • “===“恒等运算符在判断相等时不做任何类型变换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值