我阅读了JavaScript的specs,并找到了以下代码段:
7.2.14抽象平等比较
- 如果Type(x)为布尔值,则返回比较结果! ToNumber(x)== y。
!ToNumber(x)
是什么意思?
示例:
true == 1等于true
但是!true == 1
等于false,因此它不是求反运算符。
答案 0 :(得分:0)
我在搜索“!”时在规范中找到了答案。
类似地,前缀!用于表示以下对抽象或语法定向操作的调用将永远不会返回突然的完成,并且应使用结果完成记录的[[Value]]字段代替该操作的返回值。 Source