首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JavaScript中{}+[]和[]+{}返回值

JavaScript中{}+[]和[]+{}返回值

作者头像
cultureSun
发布2023-05-18 14:53:04
发布2023-05-18 14:53:04
2.6K0
举报
文章被收录于专栏:cultureSun学安全cultureSun学安全

简介

这是写上一篇博客,遇到的问题。点击here移步上一篇博客。

详解

上一篇博客说,除了两个数值相加,其他类型相加都会转成字符串相加。

那么先控制台输出一下{}+[][]+{}看一下结果,直接上图:

一个返回0,一个返回'[object Object]',互换位置后返回的结果不一样。

空对象转成字符串是'[object Object]',空数组转成字符串是空字符串''。但是第一个返回0

再看一张图:

定义一个空对象变量a,再加空数组就返回了'[object Object]'

应该是{}+[]中的{}没有被解释器解释成空对象,又发现+[]返回的是0。所以{}在前面应该是被解释成代码块,而不是空对象。

同时也是因为运算是从左到右解释,+加号是连接两个变量的,所以{}放在+号后面就会被解释成空对象变量。同时也因为+号可以单独放在变量前使用,意为返回这个变量的数值,看上一篇博客。所以放在+号前面不一定会被解释在变量,后面一定会被解释成变量。

总结

  • 除了两个数值相加,其他类型相加都会转成字符串相加
  • 但是 + 号前面是一个直接使用的{}空对象,就会把空对象解释成代码块标志。例如{}+
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 简介
  • 详解
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档