Dalam JavaScript, kita sering menghadapi situasi di mana kita perlu menetapkan atribut baca sahaja. Atribut baca sahaja bermakna atribut hanya boleh dibaca dan tidak boleh diubah suai, yang memainkan peranan penting dalam banyak situasi. Dalam artikel ini, kami akan meneroka cara membuat sifat baca sahaja dalam JavaScript, serta penggunaan dan senario yang berkenaan bagi sifat baca sahaja.
Dalam JavaScript, terdapat dua cara untuk mencipta harta baca sahaja: satu ialah menggunakan Object.defineProperty( ) kaedah, satu lagi Yang pertama ialah menggunakan kaedah pengambil yang diperkenalkan dalam ES6.
(1) kaedah Object.defineProperty()
Cara untuk mencipta sifat baca sahaja menggunakan kaedah Object.defineProperty() adalah seperti berikut:
let obj = {}; Object.defineProperty(obj, 'readOnlyProp', { value: 'This property is read only', writable: false, enumerable: true, configurable: false }); console.log(obj.readOnlyProp); // 输出:This property is read only obj.readOnlyProp = 'new value'; // 尝试修改只读属性 console.log(obj.readOnlyProp); // 输出:This property is read only
Dalam kod di atas, kami Harta baca sahaja readOnlyProp ditakrifkan menggunakan kaedah Object.defineProperty(). Antaranya, parameter pertama ialah objek yang akan ditambahkan atribut, parameter kedua ialah nama atribut, dan parameter ketiga ialah objek konfigurasi yang digunakan untuk menentukan ciri atribut. Dalam objek konfigurasi ini, kami menetapkan boleh ditulis kepada palsu, menunjukkan bahawa atribut tidak boleh ditulis, dan boleh dikonfigurasikan ditetapkan kepada palsu, menunjukkan bahawa atribut tidak dibenarkan untuk dipadamkan atau dikonfigurasikan semula.
(2) Kaedah getter ES6
Kaedah getter yang diperkenalkan dalam ES6 boleh mentakrifkan sifat baca sahaja melalui kata kunci get Kod sampel adalah seperti berikut:
let obj = { get readOnlyProp() { return 'This property is read only'; } }; console.log(obj.readOnlyProp); // 输出:This property is read only obj.readOnlyProp = 'new value'; // 尝试修改只读属性 console.log(obj.readOnlyProp); // 输出:This property is read only
Kod di atas, kami mentakrifkan sifat baca sahaja readOnlyProp melalui kata kunci get. Pada masa ini, apabila obj.readOnlyProp dipanggil, kaedah pengambil harta akan dipanggil secara automatik dan nilai tertentu akan dikembalikan. Memandangkan tiada kaedah penetap yang sepadan ditakrifkan, sifat ini tidak dibenarkan untuk diubah suai.
Atribut baca sahaja mempunyai pelbagai senario penggunaan Mari kita lihat beberapa situasi biasa.
(1) Lindungi sifat objek
Dengan mentakrifkan sifat baca sahaja, kita boleh melindungi sifat objek untuk mengelakkannya daripada diubah suai tanpa perlu. Ini amat penting dalam situasi di mana keselamatan program perlu dilindungi. Contohnya, dalam program kerjasama berbilang orang, kita perlu memastikan bahawa atribut tertentu tidak boleh diubah suai oleh pengguna lain untuk memastikan ketepatan dan kestabilan program.
(2) Tetapkan nilai lalai
Atribut baca sahaja juga boleh digunakan untuk menetapkan nilai lalai. Sebagai contoh, dalam kod kami, mungkin terdapat beberapa nilai yang sangat diperlukan, dan jika nilai ini diubah suai, keseluruhan program akan ranap. Pada ketika ini, kita boleh menggunakan atribut baca sahaja untuk menetapkan nilai ini dan memastikan ia tidak akan diubah suai, sekali gus memastikan kestabilan program.
(3) Optimumkan prestasi kod
Atribut baca sahaja juga boleh digunakan untuk mengoptimumkan prestasi kod. Memandangkan sifat baca sahaja tidak dibenarkan untuk diubah suai, tiada semakan tambahan diperlukan semasa menggunakannya: jika harta itu telah diubah suai, ia perlu diproses sewajarnya, jika tidak, tiada apa yang perlu dilakukan. Ini boleh mengurangkan masa berjalan kod dan meningkatkan prestasi program.
Ringkasnya, atribut baca sahaja ialah ciri yang sangat biasa digunakan dalam JavaScript. Ia boleh digunakan untuk melindungi atribut objek, menetapkan nilai lalai dan mengoptimumkan prestasi kod. Dengan menggunakan atribut baca sahaja dengan betul, kami boleh menjadikan program lebih selamat, stabil dan cekap.
Atas ialah kandungan terperinci Terokai cara membuat sifat baca sahaja dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!