javascript - {} + 1 与 1 + {},有什么区别?
问题描述
在对操作数执行操作之前,必须将所有操作数转换为原始类型,我知道toPrimitive()
在 javascript 中是如何工作的
这里1+{}
给出了"1[object Object]"
我所期望的
但如果{}+1
我期望[object Object]1"
但它给了1
我错过了什么?
解决方案
我认为它是因为 {} 被视为一个块而不是添加 1 的对象。例如
{}+1 = 1
({});+1 = 1
({})+1 = "[object Object]1"
a = {}+1 // a is "[object Object]1"
推荐阅读
- c# - Unity3d 中还有其他方法可以访问设备摄像头吗?
- node.js - 在heroku中构建和部署后清空反应应用程序
- github - 在我的 github 帐户中看到不需要的 Git 存储库
- haskell - Obelisk OAuth 路由器类型不匹配
- java - ThreadPoolExecutor: pool control state CTL
- python - 为什么?- 从循环构造字典列表不起作用,除非在每次迭代时重新创建字典
- css - CSS 适用于 Firefox,但不适用于 Chrome。我该如何解决?
- python - 使用递归/回溯的电话排列问题
- azure-web-roles - Azure WebApp 中的角色授权
- azure-functions - Azure 函数的 Azure Cosmos DB 输入绑定不起作用