这是有效的代码吗?

Is this valid code?

本文关键字:代码 有效      更新时间:2023-09-26

我正在查看一些javascript代码,我看到以下内容:

if(!+val)
     return val;

我以前从未见过!+,当我使用谷歌搜索时找不到对它的引用。 如果它有效,它具体用于什么?

是的。一元+运算符将值强制转换为Number!运算符执行逻辑否定。

也就是说,它相当于

if(!Number(val))

例如

!+"0"  // true, because +"0" === 0, and !0 === true
!+[1]  // false, because +[1] === 1 and !1 === false

!是逻辑 NOT 运算符。

+ 是一元加运算符。

+valval转换为数字。然后!+val将其否定为布尔值。

+

字符串转换为整数,并将日期转换为纪元时间戳。其他一切都是不言自明的。

更正:将其转换为数字而不是整数