JavaScript使用“ new”运算符创建对象时,我们可以省略括号吗?
我看到过这样创建的对象:
const obj = new Foo;
但是我认为创建对象时括号不是可选的:
const obj = new Foo();
创建对象的前一种方法在ECMAScript标准中是否有效并定义?前一种创建对象的方式与后一种创建方式之间有什么区别吗?是一个比另一个更好的选择吗?
回答:
引用David Flanagan 1:
作为一种特殊情况,
new
仅对于运算符,JavaScript通过在函数调用中没有参数的情况下允许省略括号来简化语法。以下是使用new
运算符的一些示例:o = new Object; // Optional parenthesis omitted here
d = new Date();
...
就个人而言,即使构造函数不带任何参数,我也总是使用括号。
另外,如果省略括号,JSLint可能会伤害您的感觉。报告Missing '()' invoking a
constructor,该工具似乎没有办法容忍括号遗漏。
以上是 JavaScript使用“ new”运算符创建对象时,我们可以省略括号吗? 的全部内容, 来源链接: utcz.com/qa/427204.html