阮一峰 javascript_JavaScript 数据类型转换

ad3a9785826a66264fefdf7925b27722.png

(一)任意类型转换为 string:

1.String(), 2.toString() 3.+“”

e57c2489040a3e2fe65102f098d2deb2.png

b0b53d1f06866e1d7762976ed66ec31e.png

4695a1515dbd0047095bf6a49cb7d032.png

对于数组:

d79cc9ff1b619b7f373c4d3f736c0ca6.png

其他邪门的东西,小编至今未解,如果有哪位兄台了解还望解答下:

(感谢评论区朋友:只要能让js区分出小数点和点运算符,各种写法都可以~)

30e774a6e120f26fe948baa81b9d87b6.png

(二)任意类型转布尔

1.Boolean , 2. !!x

b4cfd2301704779dee90a1f3486ae024.png

五个falsy值:

c17fffc1080fb51462ee9f9f3c054c9b.png

ps: 对象永远是true

(三)任意类型转数值 (这里主要是字符串转数值,其他NAN)

1.Number

2.parseInt(1,10)

3.parseFloat()

4.x-0

5.+x 取正

7e42b6ff4e6fe08f34ce10aceb825f62.png

如果字符串含有字母:

17cdbc3f65615f2292adb58eaba2f954.png

(四)四则运算符的强制类型转换

加法运算符

  • 运算中其中一方为【字符串】,那么就会把另一方也转换为字符串
  • 如果一方不是字符串或者数字,那么会将它转换为【数字】或者【字符串】

a01bcb17e996844b2e8c480b94b4ed11.png
加法规则:有字符串就最终为字符串,其他的优先数值,其次字符串

对于除了加法的运算符来说,都会被转为数字

5b970a65e064708cc2e44e6bbed70eb1.png

f520adce793642a3b530c7e4e03eb047.png

89cbea0fb99134e014667d086824f8f0.png

38a314b45a541ac8adfdd4dd2689c1d1.png

80ab58349c3bf20cbd24f27f3b034e24.png

(五)比较运算符

== 规则

ff047a25d1b8cc373e6896bfc62f5a56.png

其他没有列在这个表格中的情况都会返回false

toNumber和toPrimitive方法是内部的

toNumber 规则

c11b1bb535b52fb804b2f0a0dd122ecc.png

toPrimitive : 相对于对象,先看 valueOf ,没有就看 toString

1eaa19132047ac6866a1a21b9ea56dcd.png

=== 规则:值和类型都必须相同

简单类型比较:toNumber
引用类型比较:valueOf > toString

粗暴记法:

  1. 一方是对象,转string
  2. 一方时string,转number
  3. 一方时boolean,转number
  4. 反正最终都转number

问:

1、(a==1 && a==2 && a==3 && a==4)可能吗?

答:可能。

b93475dc52ceed96e5302f33784de1fc.png

2、[] == ![] // true

3、[] == !{} // true

4、{} == ![] // false 因为 '[object object]’ !== false, NAN !== 0

5、{} == !{} // false

Appendix:

扩展阅读:JavaScript中的强制类型转换

从206个console.log()完全弄懂数据类型转换的前世今生(上)

从206个console.log()完全弄懂数据类型转换的前世今生(下)

生无可恋了。

e2890d9a46a39cb4e50847e1225931c1.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值