ES5语言规范明确说明,Error(foo)
与new Error(foo)
具有相同的功能。
但我注意到在实际使用中,较长的表达方式new Error(foo)
更为常见。
这是有原因的吗?
是否有任何情况下使用new Error(foo)
优于使用Error(foo)
?
ES5语言规范明确说明,Error(foo)
与new Error(foo)
具有相同的功能。
但我注意到在实际使用中,较长的表达方式new Error(foo)
更为常见。
这是有原因的吗?
是否有任何情况下使用new Error(foo)
优于使用Error(foo)
?
这是有原因的吗?
这只是习惯性地使用new
调用构造函数,保持一致性规则!即使它们在没有new
的情况下也能正常工作,这是一个好的实践,被几个样式指南和相关工具推荐。顺便说一句,自ES6以来,Error
可以被子类化,而其子类将需要使用new
。
new
构造自定义错误对象是一个好的实践,因此也可能希望使用 new
构造标准错误对象以保持一致性。 - joeytwiddle