参考答案:
new.target
属性允许你检测函数或构造方法是否是通过new运算符被调用的。
在通过new运算符被初始化的函数或构造方法中,new.target
返回一个指向构造方法或函数的引用。在普通的函数调用中,new.target
的值是undefined。
我们可以使用它来检测,一个函数是否是作为构造函数通过new被调用的。
1function Foo() { 2 if (!new.target) throw "Foo() must be called with new"; 3 console.log("Foo instantiated with new"); 4} 5 6Foo(); // throws "Foo() must be called with new" 7new Foo(); // logs "Foo instantiated with new"
小程序刷题更方便
关注公众号获取最新面经
加面试交流群