Object.preventExtensions dalam JavaScript.

Susan Sarandon
Lepaskan: 2024-10-01 06:30:29
asal
334 orang telah melayarinya

Dalam artikel ini, kami menganalisis penggunaan Object.preventExtensions() dalam kod sumber React.

Object.preventExtensions in JavaScript.

Object.preventExtensions() dipanggil apabila bendera mempunyaiBadMapPolyfill palsu dan jenis Object.preventExtensions ialah fungsi.

Tetapi apakah yang dilakukan Object.preventExtensions()?

Object.preventExtensions

Kaedah statik Object.preventExtensions() menghalang sifat baharu daripada pernah ditambahkan pada objek (iaitu menghalang sambungan masa hadapan pada objek). Ia juga menghalang prototaip objek daripada ditetapkan semula.

// Example picked from MDN docs
const object1 = {};
Object.preventExtensions(object1);
try {
 Object.defineProperty(object1, 'property1', {
 value: 42,
 });
} catch (e) {
 console.log(e);
 // Expected output: 
 // TypeError: Cannot define property property1, object is not extensible
}
Salin selepas log masuk

Baca dokumen MDN tentang Object.preventExtension()

Bagaimana React menggunakan Object.preventExtension?

Mesti ada sebab kukuh mengapa sambungan tidak dibenarkan ditambahkan. Saya mengikuti fungsi di mana ini digunakan, fungsi FiberNode

memanggil Object.preventExtension mengenai perkara ini, tetapi fungsi manakah yang memanggil FiberNode?

[createFiberImplClass](https://github.com/facebook/react/blob/5d19e1c8d1a6c0b5cd7532d43b707191eaf105b7/packages/react-reconciler/src/React21.js

Object.preventExtensions in JavaScript.Ulasan ini memberikan penjelasan mengapa Objek tidak boleh dilanjutkan.

Walaupun, saya tidak memahami sepenuhnya fungsi ini, tetapi mengetahui cara Object.preventExtensions boleh digunakan dalam projek sumber terbuka dunia sebenar.

Tentang kami:

Di Think Throo, kami berada dalam misi untuk mengajar konsep seni bina asas kod lanjutan yang digunakan dalam projek sumber terbuka.

10x kemahiran pengekodan anda dengan mempraktikkan konsep seni bina lanjutan dalam Next.js/React, pelajari amalan terbaik dan bina projek gred pengeluaran.

Kami adalah sumber terbuka — https://github.com/thinkthroo/thinkthroo (Beri kami bintang!)

Tingkatkan kemahiran pasukan anda dengan kursus lanjutan kami berdasarkan seni bina pangkalan kod. Hubungi kami di

hello@thinkthroo.com untuk mengetahui lebih lanjut!

Rujukan:

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions
  • https://github.com/facebook/react/blob/5d19e1c8d1a6c0b5cd7532d43b707191eaf105b7/packages/react-reconciler/src/ReactFiber.js#L207
  • https://github.com/facebook/react/blob/5d19e1c8d1a6c0b5cd7532d43b707191eaf105b7/packages/react-reconciler/src/ReactFiber.js#L298
  • >
  • https://github.com/facebook/react/blob/5d19e1c8d1a6c0b5cd7532d43b707191eaf105b7/packages/react-reconciler/src/ReactFiber.js#L136
  • >
  • https://github.com/facebook/react/blob/5d19e1c8d1a6c0b5cd7532d43b707191eaf105b7/packages/react-reconciler/src/ReactFiber.js#L213-L226


Atas ialah kandungan terperinci Object.preventExtensions dalam JavaScript.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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