我试图了解双重感叹号的确切含义。是的,我看到this question,有很多答案。所以我原则上知道它的作用,但我不知道为什么人们需要使用它。
据我所知,它将值转换为布尔值。所以我要说我有以下代码:
var myBool = !!(index === 0 || index > len);
我不能忽略!!
,我会得到相同的结果:
var myBool = (index === 0 || index > len);
添加!!
可以获得什么?它不是布尔值吗?
答案 0 :(得分:6)
!!
的目的是将任何类型的truthy或falsey值规范化为相应的布尔值。
如果已经知道该值是布尔值,例如比较运算符的结果,那么它就没有任何意义,而且它是多余的。所以在你给出的例子中它没用。