当前位置: 首页 > Web前端 > JavaScript

JavaScriptnew表达式详解

时间:2023-03-26 20:56:22 JavaScript

1.new用于创建用户定义的对象实例或创建带有构造函数的内置对象实例。//语法newconstructor[([arguments])]1.使用规则当执行newFoo(...)时,会发生以下事情:创建一个继承自Foo.prototype的新对象;使用指定的参数调用构造函数,并将其绑定到新对象(newFoo等同于newFoo(),意味着没有指定参数)。构造函数的返回值是new表达式的结果。如果构造函数没有显式返回,则使用在步骤1中创建的对象(通常构造函数没有return语句)。//示例函数Car(make,model,year){this.make=make;这个。模型=模型;this.year=year;}constcar1=newCar('Eagle','TalonTSi',1993);控制台日志(car1.make);//"Eagle"2、new.target可以通过new检测一个函数是否被调用。//1.检查函数functionFoo(){if(!new.target)throw"Foo()canonlybecalledwithnew";console.log("调用成功");}Foo();//UncaughtFoo()只有new才能调用newFoo();//调用成功//2.查看类中的构造函数classA{constructor(){console.log(new.target.name);}}B类扩展A{constructor(){super();}}vara=newA();//Avarb=newB();//B2.参考文档详细解释JavaScript的new表达式