Bagaimanakah Saya Boleh Menjamin bahawa Definisi Enum Saya Tidak Berubah dalam JavaScript?

Bagaimanakah Saya Boleh Menjamin Bahawa Definisi Enum Saya Tidak Berubah Dalam Javascript



Enum ialah cara yang produktif untuk menentukan kumpulan nilai bernama yang mewakili kategori data tertentu seperti “ Hari dalam minggu ”. Tidak ada pratakrif ' enums ” dalam JavaScript, jadi, pembangun boleh melaksanakannya menggunakan objek atau koleksi pemalar. Adalah penting untuk memastikan bahawa definisi enum (sifat objek) tidak boleh diubah suai untuk menjamin bahawa definisi enum dalam JavaScript kekal tidak berubah.

Tutorial ini akan menunjukkan prosedur untuk mencipta enum malar dalam JavaScript.

Bagaimanakah Saya Boleh Menjamin bahawa Definisi Enums saya Tidak Berubah dalam JavaScript?

Untuk mencipta pemalar ' enum ” dalam JavaScript, gunakan “ Object.freeze() ” kaedah. Ia menjadikan objek tidak berubah, tidak boleh diubah atau baca sahaja. Ia menghalang pengubahsuaian sifat objek, seperti menambah atau mengalih keluar atribut objek, atau mengemas kini nilai sifat sedia ada.







Contoh
Pertama, buat enum ' Saiz ” menggunakan literal objek di mana sifat objek akan berada dalam huruf besar:



const Saiz = {
KECIL : 'kecil' ,
SEDERHANA : 'sederhana' ,
BESAR : 'besar'
} ;

Panggil ' Object.freeze() ” dan lulus enum sebagai hujah untuk membuat definisi enum tidak boleh diubah:



Objek . membekukan ( Saiz ) ;

Cetak enum bernama “ Saiz ” pada konsol:





konsol. log ( Saiz ) ;

Pengeluaran

Di sini, kita akan mendapat hanya nilai sifat objek atau enum menggunakan ' Object.values() ” dan memaparkan semua nilai terhadap setiap atribut pada konsol:



const saiz = Objek . nilai ( Saiz ) ;
konsol. log ( saiz ) ;

Output menunjukkan tatasusunan nilai enum:

Sekarang, kami akan cuba menambah pemalar baharu ' XLARGE 'dengan nilainya' x besar ” ke objek enum dan cetak objek pada konsol:

Saiz. XLARGE = 'xlarge' ;
konsol. log ( Saiz ) ;

Output menunjukkan bahawa pemalar baru tidak ditambahkan dalam objek enum:

Sekarang, mari tukar atau kemas kini nilai pemalar ' KECIL 'sebagai' sm ”:

Saiz. KECIL = 'sm' ;

Cetak nilai pemalar objek enum menggunakan kaedah 'Object.values()':

const saiz = Objek . nilai ( Saiz ) ;
konsol. log ( saiz ) ;

Ia tidak akan mengemas kini nilai pemalar 'KECIL':

Walaupun tidak menggunakan ' Object.freeze() ”, anda boleh mengubah suai sifat objek dengan mudah:

Itu semua untuk menjamin bahawa definisi enums tidak berubah dalam JavaScript.

Kesimpulan

Untuk mencipta pemalar ' enum ' dalam JavaScript, gunakan ' Object.freeze() ” kaedah yang menghalang menambah atau mengalih keluar pemalar enum atau mengemas kini nilai pemalar sedia ada. Ia menjadikan objek tidak berubah, atau tidak boleh diubah. Tutorial ini menunjukkan prosedur untuk mencipta enum malar dalam JavaScript.