用于创建用户定义的对象实例 或 创建具有构造函数的内置对象实例。
// 语法
new constructor[([arguments])]
当执行 new Foo(...) 时,会发生以下事情:
// 实例
function Car(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
const car1 = new Car('Eagle', 'Talon TSi', 1993);
console.log(car1.make); // "Eagle"
可以检测一个函数是否通过 new 被调用。
// 1、检查函数
function Foo() {
if (!new.target)
throw "Foo() 只能用 new 来调用";
console.log("调用成功");
}
Foo(); // Uncaught Foo() 只能用 new 来调用
new Foo(); // 调用成功
// 2、查看类中构造函数
class A {
constructor() {
console.log(new.target.name);
}
}
class B extends A { constructor() { super(); } }
var a = new A(); // A
var b = new B(); // B
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。