我们可以使用“新”操作符创建对象时省略括号吗?

在 JavaScript 中,我们通常使用 new 操作符来创建一个新的对象。例如:

----- ------ - --- ---------

上述代码创建了一个名为 person 的新对象。但是,有些开发者可能会想知道是否可以省略这些括号,像这样:

----- ------ - --- -------

答案是:是的,可以省略括号

省略括号的原因

在 JavaScript 中,当你使用 new 操作符调用函数时,你可以选择加或不加括号。这是因为 new 操作符只需要一个可调用表达式,并不强制要求使用括号。

实际上,在 ECMA-262 标准中,它被定义为:

NewExpression :
    MemberExpression
    new NewExpression

其中 MemberExpression 可以是任何可调用表达式,包括函数和构造函数。这意味着当你省略括号时,new 仍然能够正确地将可调用表达式识别为构造函数,并创建一个新的对象。

适用情况

虽然省略括号并没有什么问题,但对于阅读代码的其他开发者来说,这可能会导致一些困惑。因此,我们建议在使用 new 操作符时始终添加括号。

不过,有一种情况下可以省略括号,那就是当你使用 JavaScript 内置对象时。例如:

----- ----- - --- -----

这个例子中,Date 是一个内置构造函数,所以你可以省略括号。

示例代码

下面是一个在浏览器控制台中的示例代码,演示了如何使用 new 操作符来创建一个新的对象,并说明了如何省略括号:

-- --------
----- ---------------- - --- ---------
--------------------- - --------
------------------------------ -- --------- --------

-- --------
----- ------------------- - --- -------
------------------------ - ------
--------------------------------- -- --------- ------

-- ------ ---- --
----- --------------- - --- -------
----------------------------- -- ---------

-- ------ ---- --
----- ------------------ - --- -----
-------------------------------- -- ---------

希望本文能够解答你关于省略括号在使用 new 操作符创建对象时是否可行的问题,并为你的代码编写提供参考。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/9271