括号中的构造函数

use*_*340 5 javascript

我试图理解在以下return语句中围绕Date构造函数使用额外括号:

if (!Date.now) {
  Date.now = function now() {
    return +(new Date); // <-- ???
  };
}
Run Code Online (Sandbox Code Playgroud)

资源

是否存在不能省略这些括号的边缘情况?谢谢!

Ort*_*kni 0

括号不是必需的。

return +new Date; 
Run Code Online (Sandbox Code Playgroud)

也有效。需要括号来帮助理解表达式,但它们也可以更改计算的默认优先顺序。此顺序在 ECMAScript 的词法语法部分中定义。

http://www.ecma-international.org/ecma-262/5.1/#sec-A.1