Class 类:在程序中离不开对象,而类就是对象的模板,具备了属性和方法
以下就是创建一个类,并为其添加一些属性
//创建一个 Person 类
class Person {
//在 实例上添加一个name属性,类型为string,值为"David"
name: string = "David";
//在 实例上添加一个age属性,类型为number,值为15
age: number = 15;
//在 Person类上添加一个gender属性,类型为string,值为"male"
static gender: string = "male";
}
//注意:在属性前面添加 static 关键字,表示添加到 类的身上,而不是实例的身上,实例是无法访问的。这也称为静态属性。
//在 实例 上添加一个sayName方法,打印“你好”
sayName() {
console.log("你好");
}
//在 Person类 上添加一个sayGender方法,打印"111"
static sayGender() {
console.log("111");
}
//然后通过 new 关键字构造一个实例对象 per;
const per = new Person();
//此时 per 身上就拥有 name 和 age 属性,还有 sayName方法
console.log(per);
per.sayName();
//而 Person类 身上则有gender属性和sayGender方法
console.log(Person.gender);
Person.sayGender();
现在我们将上面的代码编译一下
tsc -w 指令可以监听 ts文件,只要文件改动,则自动编译一次
tsc -w
然而上面的代码将被编译为下面的样子
// use strict 有这个是因为我在tsconfig.json文件里开启了 严格模式
"use strict";
class Person {
constructor() {
this.name = "David";
this.age = 15;
}
sayName() {
console.log("你好");
}
static sayGender() {
console.log("111");
}
}
Person.gender = "male";
const per = new Person();
console.log(per);
per.sayName();
console.log(Person.gender);
Person.sayGender();