Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengekalkan Nama Objek Asal Apabila Menggunakan Parameter Fungsi Termusnah dalam ES6?

Bagaimana untuk Mengekalkan Nama Objek Asal Apabila Menggunakan Parameter Fungsi Termusnah dalam ES6?

Linda Hamilton
Linda Hamiltonasal
2024-11-03 10:30:03989semak imbas

How to Preserve the Original Object Name When Using Destructured Function Parameters in ES6?

Mengekalkan Nama Objek Root dalam Parameter Fungsi Termusnah ES6

Dalam ES6, parameter fungsi memusnahkan membenarkan pengekstrakan ringkas sifat objek individu. Walau bagaimanapun, ia menimbulkan persoalan bagaimana untuk mengekalkan nama objek akar apabila hanya sifat tertentu yang dimusnahkan.

Melalui Objek Root dalam ES5

Dalam ES5, objek boleh diluluskan dengan rujukan menggunakan metafora warisan. Sebagai contoh, fungsi "setupParentClass5" mengambil objek "pilihan" dan menggunakannya untuk mengkonfigurasi "textEditor." Fungsi "setupChildClass5" mewarisi pilihan ini dengan memanggil "setupParentClass5(options)."

Cabaran dengan Pemusnahan ES6

Dalam ES6, menggunakan parameter yang dimusnahkan seperti "const {rows , columns}" dalam "setupParentClass6" hanya mengekstrak sifat khusus yang disenaraikan. Ini boleh menyebabkan objek "pilihan" akar tidak boleh diakses dalam "setupChildClass6."

Penyelesaian Menggunakan Argumen Tambahan

Satu penyelesaian ialah menambah hujah tambahan, seperti yang ditunjukkan dalam :

const setupChildClass6 = options => {
    const {minVal, maxVal} = options;
    rangeSlider.setup(minVal, maxVal);
    setupParentClass6(options); 
};

Pendekatan ini membenarkan "setupChildClass6" mengakses objek "pilihan" yang lengkap, termasuk kedua-dua sifat termusnah dan tidak berstruktur.

Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Nama Objek Asal Apabila Menggunakan Parameter Fungsi Termusnah dalam ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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