Skip to content

new 操作符 ​

2023-07-01 11:43:15

在我们使用 new 操作符来实例化一个对象时,new 都做了那些事

1.在内存中创建一个新对象

2.将这个新对象内部的显示原型指向构造函数的隐式原型

3.把this指向新对象

4.执行构造函数内部的代码

5.如果构造函数返回非空对象,则返回该对象,否则返回刚创建的新对象。

ts
class Person {
  name: string
  age: number
  constructor(name, age) {
    this.name = name
    this.age = age
    console.log('constructor is run')
    console.log(this) // this 为创建的 p 实例
  }
}

const p = new Person('Richard', 18)

Released under the MIT License.