Các hàm constructor trong Javascript
Object constructors được định nghĩa với constructor function sau:
function Class(parameters) {
this.prop1 = value1;
this.prop2 = value2;
…
this.method1 = function1;
this.method2 = function2;
…
}
nơi Class là tên của object class, parameters là các tham số sử dụng bởi constructor function,
prop1, prop2 là các đặc tính liên quan đến object class, và method1, method2 là các phương thức.
Từ khoá this tham chiếu đến bất cứ object instance của object class cụ thể này.
Ví dụ, constructor function cho một object class của poker cards có thể xuất hiện như sau:
function pokerCard(cardSuit, cardRank) {
this.suit = cardSuit;
this.rank = cardRank;
this.showCard() function() {
return “Your card is a ” + this.rank + ” of ” + this.suit;
};
}
Các đặc tính suit và rank lưu giữ trong suit và rank của các objects pokerCard dựa trên các giá trị được
chỉ ra bởi các tham số cardSuit và cardRank. Hàm showCard() trả về một text string mô tả card.
Một khi constructor function cho object class được định nghĩa, các thực thể khởi tạo của object được tạo với
lệnh:
let object = new Class(parameters);
nơi object là một instance của object, Class là object class được định nghĩa bởi constructor function, và parameters
là các giá trị tham số. Code sau khởi tạo 2 objects pokerCard một cái cho king of hearts và cái kia cho seven of spades:
let card1 = new pokerCard(“hearts”, “king”);
let card2 = new pokerCard(“spades”, “7”);
Phương thức showCard() gắn tới cả 2 objects để rằng phát biểu card1.showCard() trả về text string “Your card is a king of hearts”.