类
类可以用来描述一类具体事物的抽象特征。ES6以前,函数+原型模拟实现类(打一个比喻:女生是类,女朋友是对象,要使用女朋友必须new一个女生称为女朋友后才能使用),ES6开始,JavaScript中有了专门的class,而在TypeScript中,TypeScript不仅可以使用es6下所以类的功能,而且还添加了一些额外的功能和用法。
es6简单继承例子
1.es6方式
class Parent{
constructor(){
this.age=18
}
}
class Child extends Parent{
constructor(){
super();
this.name = '张三';
}
}
let o1 = new Child();
console.log(o1.name,o1.age);//张三 18
我们看看TypeScript有什么不一样的地方
class Person {
//给name赋值初始值或者是在构造函数中初始化必须二选一,不然会报错
name:string
age:number//es7语法
constructor(name:string,age:number){
this.name = name
this.age = age
}
}
类的访问修饰符
我们看一下下面的例子
class Person {
//给name赋值初始值或者是在构造函数中初始化必须二选一,不然会报错
public name:string //es7语法 public就是公有属性
private age:number//private表示私有属性,只能在类的内部去访问
protected gender: boolean
constructor(name:string,age:number){
this.name = name
this.age = age
this.gender = true
}
sayHi(msg:string):void {
console.log(`I am ${
this.name},${
msg}`