校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > js语言和框架 > 语法相关-操作符相关
题目

== 与=== 的区别? [] + {} === 0 与 {} + [] === 0的结果解释原因?

解答

== 代表相同, ===代表严格相同。

[] + {} === 0 结果为 false ,而 {} + [] === 0 的结果却为 true

首先要明确[]是数组,{}是对象或者是空代码块。

{} + [] === 0 中, {} 一定是被解释成了代码块,也就是说 {} 实际上并不是所谓的表达式的一部分,而 {} + [] === 0 也能被等价地转换为 + [] === 0
此时, [] 被转换为字符串 '' ,而一元加号又会将字符串 '' 转换为数字 0 ,很显然 0===0 结果为 true。

C 3条回复 评论
几勺奶酪

不过还有待完善,挺好的,不错的资源。

发表于 2022-09-13 23:00:00
0 0
行者z

这么久了终于弄明白这个问题

发表于 2022-01-10 23:00:00
0 0
渐行渐远

==用于进行一般比较两个操作数是否相等,允许类型转换。===只要类型不一样就会返回false

发表于 2020-08-17 10:23:27
0 0