GoForum🌐 V2EX

你们 js 用过双等号吗

ethusdt · 2025-12-31 09:25 · 0 次点赞 · 14 条回复

写了很多年 js ,都是用三等号。即使类型不匹配也要强制使用 Number String 等方式转换一下再判断。

现在发现双等号直接可以帮你转类型后再比较。

甚至可以这么用: if (a == 0) { ... }, 这里当 a 是 0 / "" / false 时候都成立。

看到很多项目都把双等号给禁了( eslint eqeqeq ),没仔细研究,但有些情况下还是不错的。

14 条回复
aisles1 · 2025-12-31 09:25
#1

无脑===

june4 · 2025-12-31 09:25
#2

val == null 应该是 js 基本常识技能吧?那判断为 null 你是怎么做的? val === null || val === undefined?

gorvey · 2025-12-31 09:30
#3
qiaobeier · 2025-12-31 09:30
#4

十多年前我用这个当面试题来着😂

evan1 · 2025-12-31 09:30
#5

@june4 #2 直接 if (value)判断是否有值

ethusdt · 2025-12-31 09:30
#6

@june4 啊?判断 null 还要 val == null 么?直接 if (val) 不行么?

l864494871 · 2025-12-31 09:35
#7

@ethusdt 他的意思是当判断是否为 null 时只需要==即可。

ixixi · 2025-12-31 09:35
#8

不知道啊 ,我用 ts

wu00 · 2025-12-31 09:45
#9

十几年前好像都是==

maplezzz · 2025-12-31 09:45
#10

隐式转换设计的太复杂了,不同的类型,各种各样可能的 case ,用的时候很容易出现意料之外的问题

jydeng · 2025-12-31 09:50
#11

太麻烦了,容易出问题

june4 · 2025-12-31 09:50
#12

@ethusdt if (val)当然不行,这个把 空串,0 之类的都算 false 了,很多时候就是判断是空值(null),不是没有值

MinorN · 2025-12-31 09:55
#13

坚决 === ,我同事曾经用 == 找了 1h 的 bug ,然后叫我帮忙看看哪里出了问题

cpstar · 2025-12-31 09:55
#14

if(!!val)

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: ethusdt
发布: 2025-12-31
点赞: 0
回复: 0