ตัวสร้างคลาส JavaScript
ตัวอย่าง
สร้างคลาสรถ แล้วสร้างวัตถุที่เรียกว่า "mycar" ตามคลาสรถ:
class Car {
constructor(brand) { // Constructor
this.carname = brand;
}
}
mycar = new Car("Ford");
ตัวอย่าง "ลองใช้เอง" เพิ่มเติมด้านล่าง
ความหมายและการใช้งาน
เมธอด นี้constructor()
เป็นเมธอดพิเศษในการสร้างและเริ่มต้นอ็อบเจ็กต์ที่สร้างภายในคลาส
เมธอด นี้constructor()
ถูกเรียกโดยอัตโนมัติเมื่อมีการเริ่มต้นคลาส และต้องมีชื่อที่ถูกต้องว่า "คอนสตรัคเตอร์" อันที่จริง หากคุณไม่มีเมธอด constructor JavaScript จะเพิ่มเมธอด Constructor ที่มองไม่เห็นและว่างเปล่า
หมายเหตุ:คลาสไม่สามารถมีเมธอด constructor() ได้มากกว่าหนึ่งวิธี สิ่งนี้จะโยนSyntaxError
.
คุณสามารถใช้super()
เมธอดเพื่อเรียกคอนสตรัคเตอร์ของคลาสพาเรนต์ (ดู "ตัวอย่างเพิ่มเติม" ด้านล่าง)
รองรับเบราว์เซอร์
constructor()
เป็นคุณลักษณะ ECMAScript6 (ES6)
ES6 (JavaScript 2015) ได้รับการสนับสนุนในเบราว์เซอร์ที่ทันสมัยทั้งหมด:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
constructor()
ไม่รองรับใน Internet Explorer 11 (หรือเก่ากว่า)
ไวยากรณ์
constructor(parameters)
รายละเอียดทางเทคนิค
เวอร์ชันจาวาสคริปต์: | ECMAScript 2015 (ES6) |
---|
ตัวอย่างเพิ่มเติม
หากต้องการสร้างการสืบทอดคลาส ให้ใช้extends
คีย์เวิร์ด
คลาสที่สร้างด้วยการสืบทอดคลาสจะสืบทอดวิธีการทั้งหมดจากคลาสอื่น:
ตัวอย่าง
สร้างคลาสชื่อ "รุ่น" ซึ่งจะสืบทอดเมธอดจากคลาส "รถยนต์":
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();
วิธี การsuper()
นี้อ้างถึงคลาสพาเรนต์
การเรียกsuper()
เมธอดในเมธอด Constructor เราเรียกเมธอด Constructor ของพาเรนต์ และเข้าถึงคุณสมบัติและเมธอดของพาเรนต์
หน้าที่เกี่ยวข้อง
บทช่วยสอน JavaScript: คลาส JavaScript
บทช่วย สอน JavaScript: JavaScript ES6 (EcmaScript 2015)
การอ้างอิง JavaScript: ส่วนขยายคำหลัก
การอ้างอิง JavaScript: Super Keyword