Phương thức constructor của JavaScript Class

Định nghĩa và cách sử dụng

constructor() Phương pháp là một phương pháp đặc biệt được sử dụng để tạo và khởi tạo đối tượng được tạo trong lớp.

Khi khởi tạo lớpconstructor() Phương pháp sẽ được gọi tự động và nó phải sử dụng tên chính xác "constructor". Thực tế, nếu bạn không có phương pháp构造方法, JavaScript sẽ thêm một phương pháp constructor ẩn.

Lưu ý:Một lớp không thể sử dụng nhiều phương pháp constructor() phương pháp. Điều này sẽ ném SyntaxError.

Bạn có thể sử dụng super() phương pháp để gọi phương pháp khởi tạo của lớp cha (xin xem thêm các ví dụ dưới đây).

Mẫu

Ví dụ 1

Tạo một lớp Car, sau đó dựa trên lớp Car này để tạo ra một đối tượng có tên là "mycar":

class Car {
  constructor(brand) {  // Constructor
    this.carname = brand;
  }
}
mycar = new Car("Ford");

Thử ngay

Ví dụ 2

Để tạo ra việc kế thừa lớp, hãy sử dụng extends Chìa khóa.

Các lớp được tạo ra bằng cách kế thừa từ lớp khác sẽ kế thừa tất cả các phương pháp.

Tạo một lớp có tên là "Model" sẽ kế thừa các phương pháp của lớp "Car":

class Car {
  constructor(brand) {
    this.carname = brand;
  }
  present() {
    return 'I have a ' + this.carname;
  }
}
class Model extends Car {
  constructor(brand, mod) {
    super(brand);
    this.model = mod;
  }
  show() {
    return this.present() + ', it is a ' + this.model;
  }
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML = mycar.show();

Thử ngay

super() phương pháp từ lớp cha.

Bằng cách gọi super() Phương pháp, chúng ta sẽ gọi phương pháp khởi tạo của lớp cha và có thể truy cập vào thuộc tính và phương pháp của lớp cha.

Cú pháp

constructor(tham số)

Chi tiết kỹ thuật

Phiên bản JavaScript: ECMAScript 2015 (ES6)

Hỗ trợ trình duyệt

Phương pháp Chrome IE Firefox Safari Opera
constructor() 49.0 13.0 45.0 9.0 36.0

Các trang liên quan

JavaScript Hướng dẫn:Lớp của JavaScript

JavaScript Hướng dẫn:JavaScript ES6 (EcmaScript 2015)

Tài liệu tham khảo JavaScript:Từ khóa extends

Tài liệu tham khảo JavaScript:Từ khóa super