前端基础笔记——强制类型转换

		// 强制类型转换 Number
		// 1.1 如果字符串只包含数字,那么将其转换为相应的十进制数字
		console.log(Number('2'));//2
		console.log(Number('002'));//2
		console.log(Number('002.2'));//2.2
		console.log(Number('0x20'));//32
		
		// 1.2对于null,undefined,NaN,进行强制类型转换时有特定的规则
		// 注意:虽然null强制转换为数字时是0,但是进行隐式类型转换时不一样,有特定的规则
		console.log(Number(null));//0
		console.log(null==0);//false
		// NaN本来就是Number数据类型,所以就是NaN,而undefined是还未赋值的,所以也是NaN
		console.log(Number(undefined));//NaN
		console.log(Number(NaN));//NaN
		
		// 1.3 对于复杂数据类型先转换为字符串,再尝试转为数字
		console.log(Number([]));//0
		console.log(Number([1,2]));//NaN,因为[1,2]先转为String类型是'1,2',该字符串没办法转为数字
		console.log(Number({}));//NaN,因为{}转为字符串是object Object,这个字符串没办法转为数字
		
		// 2. 强制类型转换String(相当于调用了 xx.valueOf().toString())
		console.log(String(1));//'1'
		console.log(String([])==='');//'',true,空数组被强制转换为''空字符串
		console.log(String({}));//object Object 
		console.log(String(undefined));//undefined
		console.log(String(null));//null
		console.log(String(NaN));//NaN

		
		// 3. 强制类型转换 Boolean
		console.log(Boolean(1));//true
		// 强制转换为Boolean,除了'',0,NaN,undefined,null,false之外,其他的都会转为true
		console.log(Boolean([]));//true
		console.log(Boolean({}));//true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值