Dalam ES6, kelas tanpa nama memperkasakan pembangun dengan fleksibiliti untuk mentakrifkan kelas tanpa menamakannya secara eksplisit. Walaupun ciri ini kelihatan menarik, membuat kelas tanpa nama serta-merta datang dengan kelemahannya.
Apabila kelas tanpa nama diwujudkan menggunakan kelas baharu {}, JavaScript secara senyap-senyap mencipta fungsi pembina dan objek prototaip di belakang tabir. Proses ini berlaku setiap kali ungkapan dinilai, membawa kepada pembina yang berasingan dan pasangan prototaip untuk setiap kejadian.
Kelebihan:
Kaveat:
Untuk mengelakkan perangkap ini, pilih objek mudah secara literal:
var entity = { name: 'Foo', getName() { return this.name; } }; console.log(entity.name); // Foo
Tersurat objek menawarkan faedah pengkapsulan data dan definisi kaedah tanpa penalti prestasi atau prototaip pemecahan yang dikaitkan dengan instantiasi kelas tanpa nama.
Sebagai peraturan umum, elakkan membuat kelas tanpa nama secara langsung. Untuk corak tunggal, pertimbangkan kaedah yang telah ditetapkan seperti penilaian malas atau pembolehubah peringkat modul. Untuk semua senario lain, literal objek kekal sebagai pilihan pilihan kerana kesederhanaan, kecekapan dan keserasiannya dengan warisan kelas.
Atas ialah kandungan terperinci Adakah Instalasi Kelas Tanpa Nama dalam ES6 Satu Rahmat atau Beban?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!