Parameter Fungsi Memusnahkan ES6: Memelihara Nama Objek Akar
Dalam ES6, argumen fungsi memusnahkan membenarkan pengendalian parameter yang ringkas dan ekspresif. Walau bagaimanapun, apabila bekerja dengan berbilang parameter konfigurasi merentas hierarki kelas induk-anak, nama objek akar mungkin hilang selepas dimusnahkan.
Dalam ES5, anda boleh menghantar objek akar ke atas hierarki menggunakan warisan:
// ES5 var setupParentClass5 = function(options) { textEditor.setup(options.rows, options.columns); }; var setupChildClass5 = function(options) { rangeSlider.setup(options.minVal, options.maxVal); setupParentClass5(options); // Pass the options object up };
Walau bagaimanapun, dalam ES6 menggunakan pemusnahan, ini menjadi isu:
// ES6 var setupParentClass6 = ({rows, columns}) => { textEditor.setup(rows, columns); }; var setupChildClass6 = ({minVal, maxVal}) => { rangeSlider.setup(minVal, maxVal); setupParentClass6( /* ??? */ ); // How to pass the root options object? };
Untuk mengekalkan nama objek akar, anda boleh mengisytiharkannya sebagai parameter sebelum memusnahkan:
const setupChildClass6 = options => { const {minVal, maxVal} = options; rangeSlider.setup(minVal, maxVal); setupParentClass6(options); };
Sebagai alternatif, anda boleh mengekstrak semua pilihan secara individu dalam setupChildClass6:
var setupChildClass6b = ({minVal, maxVal, rows, columns}) => { rangeSlider.setup(minVal, maxVal); setupParentClass6({rows, columns}); };
Walau bagaimanapun, pendekatan ini memerlukan lebih banyak baris kod dan mungkin tidak optimum apabila berurusan dengan berbilang pembolehubah yang dimusnahkan.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Nama Objek Root Apabila Memusnahkan Parameter Fungsi dalam ES6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!