-0的结果从+0中减去

时间:2017-01-09 15:49:11

标签: javascript

我遇到了一个声明“如果在2012年发布的JavaScript书籍中,从+0中减去-0,结果为-0”

但是,当我在浏览器中计算+0 - (-0)时,它会返回0而不是-0。我想知道ECMAScript从那时起是否有变化,或者仅仅是书中的错误/错字。

如果这本书提到的是真的,我想听听这部分的解释和阐述。

Book:面向Web开发人员的专业JavaScript,第3版。作者:Nicholas C. Zakas(第3章 - 第63页)

1 个答案:

答案 0 :(得分:5)

The book is incorrect.也许这意味着-0 - +0。从12.7.5开始:

  
      
  • 两个负零的总和是-0。 两个正零的总和,或两个相反符号的零的总和为+0。
  •   
  

给定数字操作数a和b, a-b始终产生与+( - b)相同的结果。

12.5.0

  

一元运算符将其操作数转换为数字类型,然后将其否定。否定+0会产生-0,而否定-0会产生+0

另外,我跳到书中的另一个随机页面,发现了这个:

  

逗号操作员

     

逗号运算符允许在单个语句中执行多个操作,如下所示:

var num1=1, num2=2, num3=3;

这不是逗号运算符的实例。两个两个;得到退款。