`throw new Error` 和 `throw Error` 有什么区别?

9

在没有使用 new 关键字抛出错误的时候,有什么缺点吗?

throw new Error('Something went wrong');

/* vs */

throw Error('Something went wrong');
1个回答

11
它们完全相同,正如规范所保证的那样:19.5.1 错误构造函数:

19.5.1 错误构造函数

错误构造函数:

...

当作为函数而不是作为构造函数调用时,创建并初始化新的错误对象。 因此,函数调用 Error(…) 相当于使用相同参数的对象创建表达式 new Error(…)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接