Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

React ES6 类


ES6 引入了类。

类是一种函数,但我们不使用 function 关键字来初始化它,而是使用 class 关键字,并且属性在 constructor() 方法中赋值。

示例

一个简单的类构造函数

class Car {
  constructor(name) {
    this.brand = name;
  }
}

注意类名的命名规范。我们使用大写字母开头命名类,例如“Car”。这是类的标准命名约定。

现在您可以使用 Car 类创建对象了

示例

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

class Car {
  constructor(name) {
    this.brand = name;
  }
}

const mycar = new Car("Ford");

尝试一下 »

注意:当对象初始化时,构造函数会自动调用。


w3schools CERTIFIED . 2022

获取认证!

完成 React 模块,完成练习,参加考试并成为 w3schools 认证专家!!

$95 报名

类中的方法

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

示例

创建一个名为 "present" 的方法

class Car {
  constructor(name) {
    this.brand = name;
  }
  
  present() {
    return 'I have a ' + this.brand;
  }
}

const mycar = new Car("Ford");
mycar.present();

尝试一下 »

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


类继承

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

使用类继承创建的类继承了另一个类中的所有方法

示例

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

class Car {
  constructor(name) {
    this.brand = name;
  }

  present() {
    return 'I have a ' + this.brand;
  }
}

class Model extends Car {
  constructor(name, mod) {
    super(name);
    this.model = mod;
  }  
  show() {
      return this.present() + ', it is a ' + this.model
  }
}
const mycar = new Model("Ford", "Mustang");
mycar.show();

尝试一下 »

super() 方法指的是父类。

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

要了解更多关于类的信息,请查看我们的 JavaScript 类 部分。


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.