TS类
// 使用 class 类
/* 对象 中 主要包含两个部分
属性
方法
*/
class person {
/*
通过 直接 定义的属性是实例属性,需要通过对象的实例去访问
const p = new person()
p.name
使用 static 开头的属性 是静态属性(类属性) => 直接通过类去访问
static readonly age: number = 18
person.age
readonly 开头的属性 表示一个只读的属性,不能重新赋值
static readonly age: number = 18
p.name = '猪八戒' => 报错
*/
// 定义实例属性
name: string = "孙悟空"
age:number = 18
// 定义方法
sayHello(){
console.log('你好');
}
}
const p = new person()
console.log(p)
p.sayHello()
TS构造函数和this
class Dog {
// 属性
name: string;
age: number;
// constructor 构造函数
// 在 对象 被创建时 调用
constructor(name: string, age: number) {
// 在实例方法中,this就表示当前的实例
// 在构造函数中,当前对象就是当前新建的那个对象
// 可以通过this向新建的对象中添加属性
this.name = name;
this.age = age;
}
// 方法
bark() {
console.log("汪汪汪")
}
}
const dog = new Dog("小黑", 2)
console.log(dog)