constructor 方法是class类中,实例化对象的时候 第一步立即执行的函数

  1. class Person{
  2. constructor() {
  3. console.log(11111)
  4. }
  5. }
  6. let per1 = new Person()
  7. let per2 = new Person()

每次实例化一次类,都会调用一次constructor方法:

构造函数constructor及this - 图1

构造函数可以过传参类动态创建不同的对象

构造函数中的this

构造函数中的this表示当前实例化的class 类对象

  1. class Person{
  2. name: string
  3. age:number
  4. constructor() {
  5. this.name = '猴子'
  6. this.age = 20
  7. this.getData()
  8. //此时的this 指向当前这个对象,这个对象拥有这写属性,可以用过this调用
  9. }
  10. getData() {
  11. console.log(this.name,this.age) //"猴子",20
  12. }
  13. }
  14. let per1 = new Person()

构造函数的参数(可以实现给类传参):

构造函数的参数就是实例化的时候 传递进去的参数,可以用通过传递不同的参数定义不同对象的属性和方法

每次实例化的时候就得到不同的对象数据:

  1. class Person{
  2. name: string
  3. age:number
  4. constructor(name:string,age:number) {
  5. this.name = name
  6. this.age = age
  7. this.getData()
  8. }
  9. getData() {
  10. console.log(this.name,this.age)
  11. }
  12. }
  13. let per1 = new Person('猴子', 20) //'猴子', 20
  14. let per2 = new Person('老虎',30) //'老虎',30
  15. let per3 = new Person('狮子',40) //'老虎',30
  16. //由于实例化了三次类,里面有调用到getData方法,所以这里会执行三次