Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mencipta Objek Secara Dinamik dalam JavaScript ES6 Menggunakan Objek Kelas?

Bagaimana untuk Mencipta Objek Secara Dinamik dalam JavaScript ES6 Menggunakan Objek Kelas?

Barbara Streisand
Lepaskan: 2024-11-15 19:25:02
asal
206 orang telah melayarinya

How to Create Objects Dynamically in JavaScript ES6 Using Class Objects?

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);
    }
};
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan