[] == ![] 返回ture

[] == ![] 返回ture是为什么?为什么[] == ![] 就相当于[] == false?求大神解答!

阅读 2.1k
1 个回答

首先是![]
[]被 Boolean 转化为 true,![] 即为 false

然后是[] == false
[]先后以 valueOf、toString 方法尝试转化为基础数据类型,这里转化为空字符串''

'' == false
而基础数据类型会尝试转化为 Number 类型,空字符串转化为0, false转化为0

最后0 == 0
即返回true

贴个数据类型转化链接

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题