new 关键字有什么作用?

new关键字与构造函数一起使用以创建对象:

function Employee(name, position, yearHired) {
  this.name = name;
  this.position = position;
  this.yearHired = yearHired;
};

const emp = new Employee("mybj", "Software Developer", 2020);

new关键字做了4件事:

  • 创建空对象 {}
  • 将空对象分配给 this 值
  • 将空对象的proto指向构造函数的prototype
  • 如果没有使用显式return语句,则返回this

看下面事例:

function Person() {
 this.name = '码云笔记'
}

根据上面描述的,new Person()做了:

  • 创建一个空对象:var obj = {}
  • 将空对象分配给 this 值:this = obj
  • 将空对象的proto__`指向构造函数的`prototype`:`this.__proto = Person().prototype
  • 返回this:return this

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » new 关键字有什么作用?

发表回复