React ES6 类和方法

Classes 类

ES6 引入了 classes(类)。

类是函数的一种类型,但不是使用关键字 function 来启动它,而是使用关键字 class,属性在 constructor() 构造函数方法中赋值。

实例

一个简单的类构造:

  1. class Car {
  2. constructor(name) {
  3. this.brand = name;
  4. }
  5. }
注意类名的大小写。我们已经用大写字符开始了名称 "Car" 。这是类的标准命名约定。

现在,可以使用 Car 类创建对象:

实例

基于 Car 类创建一个名为 "mycar" 的对象:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <script>
  5. class Car {
  6. constructor(name) {
  7. this.brand = name;
  8. }
  9. }
  10. const mycar = new Car("Ford");
  11. document.write(mycar.brand);
  12. </script>
  13. </body>
  14. </html>
注意:初始化对象时会自动调用构造函数。

类中的方法

您可以在类中添加自己的方法:

实例

创建一个名为 “present” 的方法:

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <script>
  5. class Car {
  6. constructor(name) {
  7. this.brand = name;
  8. }
  9. present() {
  10. return 'I have a ' + this.brand;
  11. }
  12. }
  13. const mycar = new Car("Ford");
  14. document.write(mycar.present());
  15. </script>
  16. </body>
  17. </html>

正如您在上面的示例中所看到的,您可以通过引用对象的方法名(后跟括号)来调用该方法(参数将放在括号内)。


类继承

要创建类继承,请使用 extends 关键字。

使用类继承创建的类从另一个类继承所有方法:

实例

创建一个名为 "Model" 的类,该类将继承 "Car" 类的方法

  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4. <script>
  5. class Car {
  6. constructor(name) {
  7. this.brand = name;
  8. }
  9. present() {
  10. return 'I have a ' + this.brand;
  11. }
  12. }
  13. class Model extends Car {
  14. constructor(name, mod) {
  15. super(name);
  16. this.model = mod;
  17. }
  18. show() {
  19. return this.present() + ', it is a ' + this.model
  20. }
  21. }
  22. const mycar = new Model("Ford", "Mustang");
  23. document.write(mycar.show());
  24. </script>
  25. </body>
  26. </html>

super() 方法引用父类。

通过在构造函数方法中调用 super() 方法,我们调用父级的构造函数方法并访问父级的属性和方法。

要了解有关 ES6 类的更多知识,请查看本站的 JavaScript 类 部分。

分类导航