js数据类型隐式转换问题

js数据类型隐式转换

![] == false //true 空数组和基本类型转换,会先[].toString() 再继续比较
![] == [] //true
![] //false
[] == [] //false
{} == {} //false
new Array(3) == ",," //toString()
[1] + {} == {} + [1]//false
[1] + {} == [1] + {}//true
[] + {} === {} + [] //true
var a = [1,2];var b = [3,4];//a+b = "1,23,4"
[1,2,[3,4,[5]]] + '' //"1,2,3,4,5"
([1,2,[3,4,[5]]] + '').split(',') //["1", "2", "3", "4", "5"]

参考
wtfjs
探秘JavaScript中的六个字符
es5

怎一个晕字了得?

posted @   geekfeier  阅读(174)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示