Mencipta Objek Secara Dinamik dalam JavaScript ES6
Kesukaran membina objek daripada nama kelas menggunakan ES6 boleh dihadapi apabila menggunakan pendekatan tradisional. Artikel ini bertujuan untuk menyelesaikan isu ini dan menyediakan kaedah yang berkesan untuk mencipta objek secara dinamik menggunakan sintaks ES6.
Coretan kod sebelumnya cuba menggunakan kilang untuk mencipta objek berdasarkan nama kelasnya. Walau bagaimanapun, ralat berlaku kerana merujuk kelas melalui 'tetingkap' objek global.
Untuk mengatasinya, disyorkan untuk menyimpan objek kelas itu sendiri dan bukannya nama mereka dalam objek 'specColumn' kilang. Ini memastikan bahawa kelas boleh diakses tanpa bergantung kepada mereka yang tersedia secara global.
Selain itu, menukar kilang kepada objek dan bukannya kelas mungkin lebih sesuai memandangkan senario penggunaan seperti tunggal. Berikut ialah kod yang dikemas kini:
export class Column {} export class Sequence {} export class Checkbox {} export const columnFactory = { specColumn: { __default: Column, // <-- Class object __sequence: Sequence, // <-- Class object __checkbox: Checkbox // <-- Class object }, create(name, ...args) { let cls = this.specColumn[name] || this.specColumn.__default; return new cls(...args); } };
Dengan melaksanakan pengubahsuaian ini, ia menjadi mungkin untuk mencipta objek secara dinamik menggunakan sintaks ES6.
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Objek Secara Dinamik dalam JavaScript ES6 Menggunakan Objek Kelas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!