Maison > interface Web > js tutoriel > Explication et application des classes et des objets dans ES6

Explication et application des classes et des objets dans ES6

零下一度
Libérer: 2017-06-25 09:26:50
original
1364 Les gens l'ont consulté

1. Définition de base et instances générées 

{  // 基本定义和生成实例  class Parent{
    constructor(name='mukewang'){//构造器,初始化一些参数      this.name=name;
    }
  }
  let v_parent=new Parent('v');
  console.log('构造函数和实例',v_parent);
}
Copier après la connexion

2. Les sous-classes directes héritent de la classe parent via extends)

{  // 继承  class Parent{
    constructor(name='mukewang'){      this.name=name;
    }
  }

  class Child extends Parent{

  }

  console.log('继承',new Child());
}
Copier après la connexion
 
Héritage pour transmettre vos propres paramètres (remarque : vous pouvez utiliser super() pour utiliser vos propres attributs , et super doit être placé sur la première ligne)

{  // 继承传递参数  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'));
}
Copier après la connexion
 
Getter et setter dans la classe

{  // 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);
}
Copier après la connexion
 
Méthodes statiques et propriétés statiques

{  // 静态方法 使用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);


}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal