“抛出新错误”和“抛出错误”之间的区别?

Off*_*ics 9 javascript

不使用关键字抛出错误有什么缺点吗new

throw new Error('Something went wrong');

/* vs */

throw Error('Something went wrong');
Run Code Online (Sandbox Code Playgroud)

Cer*_*nce 11

正如规范所保证的,它们是完全相同的:

\n
\n

19.5.1错误构造函数

\n

错误构造函数:

\n

...

\n

当作为函数而不是构造函数调用时,创建并初始化一个新的 Error 对象。因此,函数调用Error(\xe2\x80\xa6)相当于new Error(\xe2\x80\xa6)具有相同参数的对象创建表达式。

\n
\n