js中的数据类型转化

基本类型的转化

Number:

  1. null 转换为 0
  2. undefined 转换为 NaN
  3. true 转换为 1,false 转换为 0
  4. 字符串转换时遵循数字常量规则,转换失败返回NaN

String:

  1. null 转换为 ‘null’
  2. undefined 转换为 undefined
  3. true 转换为 ‘true’,false 转换为 ‘false’
  4. 数字转换遵循通用规则,极大极小的数字使用指数形式

Boolean:
除了下述 6 个值转换结果为 false,其他全部为true:

  1. undefined
  2. NaN
  3. null
  4. -0,0,+0
  5. ‘’

引用类型的转化

引用类型的转化通过ToPrimitive()来实现,ToPrimitive()会将引用类型转化为原始类型。
ToPrimitive(obj, type)//(需要转化的对象,期望转换的原始数据类型)一般对象的期望默认为Number,Data为String。
期望为number时ToPrimitive()先调用valueOf(),如果没返回原始类型就继续调用toString(),如果还没有返回原始类型就抛出TypeError 异常;
期望为String时则先调用toString(),其他则相同。

自动转化的规则

在进行相关运算时系统会自动帮我们调用相关方法

  1. 当加法运算有String类型的变量时,基本变量调用String(),引用类型则调用ToPrimitive(),
  2. 布尔比较时,基本类型调用Boolean(),引用类型同上,
  3. 其他运算,基本类型调用Number(),引用类型同上;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值