class Person{
constructor(public name:string,public age:number){
this.name = name
this.age = age
}
sayName(){
console.log(this.name);
}
}
const sunWuKong = new Person("孙悟空",18)
sunWuKong.sayName() // 孙悟空
概念
调用时机
- 在上面
Person
的类中constructor
函数就是构造函数 - 构造函数会在对象创建的时候调用
this
- 在实例中,this表示当前的实例
- 在构造函数中,this就是当前的新建对象
- 在方法中,this表示调用方法的对象
- 在上面的代码中
sunWuKong.sayName()
,this就表示sunWuKong
这个对象 - 如果把
sayName
前加上static修饰符,那么this就指的是Person
这个类
- 在上面的代码中
属性的声明
在上面的例子中,我们可以看到,可以直接将属性定义在当前的类方法中
class Person{
constructor(public name:string,public age:number){
this.name = name
this.age = age
}
}
或者
class Person{
name:string
age:nubmer
constructor(name:string,age:number){
this.name = name
this.age = age
}
}