Rumah >hujung hadapan web >tutorial js >Adakah Sintaks Kurungan Persegi dan Array.from Array Length Initialization Lebih Sesuai daripada Array Constructor dalam JavaScript?
Memulakan Panjang Tatasusunan dalam JavaScript
Cara konvensional untuk memulakan tatasusunan dengan panjang tertentu dalam JavaScript adalah melalui pembina Tatasusunan dengan sintaks var test = new Array(4);. Walau bagaimanapun, menggunakan kaedah ini telah menimbulkan kebimbangan kerana ketidakserasiannya dengan rangka kerja dan alatan linting tertentu.
Risiko dan Ketakserasian Penyemak Imbas
Menggunakan Array() baharu tidak menimbulkan risiko yang ketara ; pelayar menyokongnya secara meluas. Walau bagaimanapun, alat linting seperti jsLint mengeluarkan amaran kerana sintaks terdedah kepada ralat.
Sintaks Alternatif Menggunakan Kurungan Segiempat
Bertukar kepada sintaks kurungan segi empat sama (var test = [ ];) lebih disukai oleh alat linting. Walau bagaimanapun, ia memerlukan langkah berasingan untuk menetapkan panjang tatasusunan:
<code class="js">var test = []; test.length = 4;</code>
Permulaan Satu Baris
Tiada cara langsung untuk memulakan tatasusunan dan menetapkannya panjang dalam satu baris menggunakan kurungan segi empat sama. Walau bagaimanapun, ES6 menyediakan penyelesaian:
<code class="js">Array.from(Array(5)).forEach(alert);</code>
Ini mencipta tatasusunan panjang 5 dengan nilai yang tidak ditentukan. ES6 juga membenarkan pemulaan dengan nilai tertentu:
<code class="js">Array.from('abcde'); // [ "a", "b", "c", "d", "e" ]</code>
Ringkasan
Walaupun sintaks Array() baharu adalah sah, ia tidak digalakkan kerana isu keserasian dengan alat linting dan kemungkinan ralat. Pendekatan pilihan ialah menggunakan kurungan segi empat sama dan tetapkan panjang secara berasingan. ES6 menawarkan pilihan tambahan untuk memulakan tatasusunan, termasuk kaedah yang mudah untuk menetapkan nilai awalnya.
Atas ialah kandungan terperinci Adakah Sintaks Kurungan Persegi dan Array.from Array Length Initialization Lebih Sesuai daripada Array Constructor dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!