为了账号安全,请及时绑定邮箱和手机立即绑定

JS数据类型转换规则

标签:
JavaScript

JS数据类型

基础类型

  • String

  • Boolean

  • Number

  • Symbol

  • Undefine

  • Null(typeof(null) === "object")

复合类型: 对象

  • Object(Array, Json)

显示类型转换

Number的原始类型转换规则

  • 数值转换后还是数值

  • 字符串如果可以解析为数值则为数值, 空字符串为0, 无法解析的字符串为NaN

  • 布尔转数值, true转为1, false转为0

  • null转换为0

640

原始类型转换Number

Number的对象类型转换规则

传入实例M, 先调用M的valueOf(), 如果返回值V为基本数据类型, 则直接使用Number(V), 求最终返回值
如果T不属于基本数据类型, 则调用M的toString(), 如果返回值S为基本数据类型, 则直接使用Number(S),求最后的结果, 如果S不属于基本数据类型, 则直接返回NaN

700

对象类型转换1


700

对象类型转换2


String的原始类型转换规则

  • 数值(Number)转为相应的字符串

  • 字符串(String) 转换后还是字符串

  • 布尔值(Boolean)转换规则: true => 'true', false=> 'false'

  • undefine 转换为"undefine"

  • null 转换为'null'

530

String原始类型转换

String 的对象类型转换规则

与Number的对象转换规则类似, 区别是: 先调用对象的toString(), 然后再调用valueOf()
其实正常情况下, 对象调用自身的toString()后, 对象就可以转换为string基本类型, valueOf() 没有机会被调用, 但万事有个例, 如果我们重新定义了对象的toString()方法,使其返回非基本类型的值, 那样就有机会调用对象的valueOf()方法了

700

String对象类型转换规则

Boolean的原始类型转换 和 对象类型转换

undefined,null,NaN,'',-0,+0皆为false, 其余为true

隐式类型转换

四则运算+, -, *, /

620

隐式类型转换之四则运算

判断语句 if()

Native调用 console.log(), alert()





点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
3868
获赞与收藏
281

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消