因为规范说构造函数应该检查它是如何被调用的,如果它没有被调用new
它应该调用自己new
并返回它.
Error构造函数是%Error%内部对象和全局对象的Error属性的初始值.当Error作为函数而不是构造函数调用时,它会创建并初始化一个新的Error对象.因此,函数调用Error(...)等效于具有相同参数的对象创建表达式new Error(...).
JS中的示例实现可能如下所示:
function MyC(foo, bar) {
if (!(this instanceof MyC)) {
return new MyC(foo, bar);
}
this.foo = foo;
this.bar = bar;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
226 次 |
最近记录: |