Kelas JavaScript
ECMAScript 2015, juga dikenali sebagai ES6, memperkenalkan kelas JavaScript.
Kelas JavaScript adalah corak objek JavaScript.
语法 JavaScript
gunakan kata kunci class
buatkan kelas.
Jadilah selalu menambahkan nama constructor()
method:
Sintaks
class ClassName { constructor() { ... } }
实例
class Car { constructor(name, year) { this.name = name; this.year = year; } }
Contoh di atas membuat kelas bernama "Car".
Kelas ini mempunyai dua sifat asal: "name" dan "year".
Kelas JavaScriptbukanobjek.
ia adalah objek JavaScripttemplat.
gunakan kelas
Ketika anda mendapat kelas, anda boleh menggunakan kelas itu untuk membuat objek:
实例
let myCar1 = new Car("Ford", 2014); let myCar2 = new Car("Audi", 2019);
Contoh di atas menggunakan Kelas Caruntuk membuat dua Objek Car.
Method constructor akan dipanggil secara automatik semasa membuat objek baru (method constructor method).
Method constructor
Method constructor adalah jenis method khusus:
- ia mesti mempunyai nama yang pasti "constructor"
- dijalankan secara automatik semasa membuat objek baru
- untuk menginisialisasi sifat objek
- Jika anda tidak mendefinisikan method constructor, JavaScript akan menambah method constructor kosong.
Method kelas
Sintaks method kelas sama seperti method objek.
gunakan kata kunci class untuk membuat kelas.
Jadilah selalu menambah method constructor().
Lalu tambahkan sebarang bilangan method.
Sintaks
class ClassName { constructor() { ... } method_1() { ... } method_2() { ... } method_3() { ... } }
Buatkan method kelas bernama "age" yang mengembalikan tahun kereta:
实例
class Car { constructor(name, year) { this.name = name; this.year = year; } age() { let date = new Date(); return date.getFullYear() - this.year; } } let myCar = new Car("Ford", 2014); document.getElementById("demo").innerHTML = "Kereta saya adalah " + myCar.age() + " tahun tua.";
Anda boleh menghantar parameter kepada method kelas:
实例
class Car { constructor(name, year) { this.name = name; this.year = year; } age(x) { return x - this.year; } } let date = new Date(); let year = date.getFullYear(); let myCar = new Car("Ford", 2014); document.getElementById("demo").innerHTML= "Kereta saya adalah " + myCar.age(year) + " tahun tua.";
Pereka penerima
Jadual di bawah menunjukkan versi pereka penuh JavaScript yang disokong pertama kalinya:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 49 | Edge 12 | Firefox 45 | Safari 9 | Opera 36 |
2016 年 3 月 | 2015 年 7 月 | 2016 年 3 月 | 2015 年 10 月 | 2016 年 3 月 |
"use strict"
类中的语法必须以“严格模式”编写。
如果您不遵循“严格模式”规则,将收到错误消息。
实例
在“严格模式”下,如果您使用变量而不声明它,会得到错误:
class Car { constructor(name, year) { this.name = name; this.year = year; } age() { // date = new Date(); // This will not work let date = new Date(); // This will work return date.getFullYear() - this.year; } }
在 JS 严格模式 在“严格模式”下,如果您使用变量而不声明它,会得到错误: