Anomali Tatasusunan: Sifat lwn. Elemen
Dalam JavaScript, kepelbagaian objek meluas kepada tatasusunan juga. Fenomena ingin tahu ini timbul daripada fakta bahawa tatasusunan mewarisi daripada prototaip Objek. Akibatnya, tatasusunan boleh dimanipulasi seolah-olah ia adalah objek.
Penugasan Harta dalam Tatasusunan
Pertimbangkan coretan kod berikut:
var myArray = Array(); myArray['A'] = "Athens"; myArray['B'] = "Berlin";
dan
var myObject = {'A': 'Athens', 'B':'Berlin'};
Coretan kod ini muncul setara kerana kedua-duanya mencipta objek dengan sifat yang dinamakan. Walau bagaimanapun, terdapat perbezaan asas antara mereka.
Perangkap Penyalahgunaan Harta
Walaupun tatasusunan boleh dianggap sebagai objek, adalah penting untuk ambil perhatian bahawa tatasusunan bertujuan terutamanya untuk data yang diindeks secara berangka. Menetapkan kunci bukan angka kepada tatasusunan boleh membawa kepada tingkah laku yang tidak dijangka.
Sebagai contoh, pertimbangkan perkara berikut:
var myArray = Array(); myArray['A'] = "Athens"; myArray['B'] = "Berlin"; alert(myArray.length);
Daripada memaparkan '2' (bilangan unsur yang dijangkakan), amaran memaparkan '0'. Ini kerana kekunci bukan angka ('A' dan 'B') tidak menambah sifat panjang tatasusunan, yang menjejaki bilangan elemen yang diindeks secara berangka.
Kesimpulannya, walaupun nampaknya mudah untuk ditambah menamakan sifat kepada tatasusunan, amalan ini harus dielakkan kerana ia menjejaskan tujuan tatasusunan dan boleh membawa kepada tingkah laku yang tidak dijangka. Untuk kekunci bukan angka, disyorkan untuk menggunakan objek tulen.
Atas ialah kandungan terperinci Bagaimanakah Tugasan Harta Mempengaruhi Panjang Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!