ts的class和es 6的class 有什么区别?两者类似但有不同点是ts多了一些修饰符
类的基本使用
定义一个最简单的Lady类,这里要使用关键字class,类里边有姓名属性和一个得到姓名的方法,代码如下:
class Lady { content = "Hi,帅哥"; sayHello() { return this.content; }}
const goddess = new Lady();console.log(goddess.sayHello());
类的继承
这里提前说一下 TypeScrip 的继承和ES6中的继承是一样的。
关键字也是extends,比如我们这里新建一个XiaoJieJie的类,然后继承自Lady类,在XiaoJieJie类里写一个新的方法,叫做sayLove,具体代码如下。
class Lady { content = "Hi,帅哥"; sayHello() { return this.content; }}
class XiaoJieJie extends Lady { sayLove() { return "I love you"; }}
const goddess = new XiaoJieJie();
console.log(goddess.sayHello());console.log(goddess.sayLove());
类的重写
讲了继承,那就必须继续讲讲重写,重写就是子类可以重新编写父类里边的代码。
现在我们在XiaoJieJie这个类里重写父类的sayHello()方法,比如现在我们觉的叫的不够亲切,我们改成下面这个样子。
class XiaoJieJie extends Lady { sayLove() { return "I love you!"; } sayHello() { return "Hi , honey!"; }}
super 关键字的使用
super关键字,比如我们还是想使用Lady类中说的话,但是在后面,加上你好两个字就可以了。