一、基本定義與產生實例
{ // 基本定义和生成实例 class Parent{ constructor(name='mukewang'){//构造器,初始化一些参数 this.name=name; } } let v_parent=new Parent('v'); console.log('构造函数和实例',v_parent); }
二、繼承 (透過extends直接子類別繼承父類別)
{ // 继承 class Parent{ constructor(name='mukewang'){ this.name=name; } } class Child extends Parent{ } console.log('继承',new Child()); }
繼承傳遞自己的參數(注意:可以使用super()來使用自己的屬性,並且super必須放在第一行)
{ // 继承传递参数 class Parent{ constructor(name='mukewang'){ this.name=name; } } class Child extends Parent{ constructor(name='child'){ super(name); this.type='child'; } } console.log('继承传递参数',new Child('hello')); }
類別中的getter和setter
{ // getter,setter class Parent{ constructor(name='mukewang'){ this.name=name; } //注意下面的longName是属性而不是方法 get longName(){ return 'mk'+this.name } set longName(value){ this.name=value; } } let v=new Parent(); console.log('getter',v.longName); v.longName='hello'; console.log('setter',v.longName); }
靜態方法和靜態屬性
{ // 静态方法 使用static声明 注意:静态方法只能通过类来调用,而不能通过类的实例进行调用,相当于es5中的私有方法 class Parent{ constructor(name='mukewang'){ this.name=name; } static tell(){ console.log('tell'); } } Parent.tell(); } { // 静态属性 直接类名通过.来声明一个静态属性 class Parent{ constructor(name='mukewang'){ this.name=name; } static tell(){ console.log('tell'); } } Parent.type='test'; console.log('静态属性',Parent.type); }
以上是ES6中類別與物件的講解與應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!