TS-9 面向对象-原型

  • 一个函数如果被new使用,那么它就是构造函数
// new的时候 js 会自动帮你把 this.__proto__ = Person.prototype
function Person(name,age){
  this.name = name
  this.age = age
}

Person.prototype = {
  constructor: Person,
  sayHi(target){
    console.log(`你好${target.name},我是${this.name}`)
  }
}

const p1 = new Person('frank')
const p2 = new Person('ricky')

p1.sayHi(p2)
90ed730907c7f84dfbeefe80d50e6ec.png
  • 这里的prototype是为了给 const obj = new f1()生成的对象用的,即obj.__proto__ === f1.prototype
    8a0321b94fd4954b814f79db69774ea.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容