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)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12