CreateLife ~AlwaysLatest~

lengthプロパティについて

JavaScript

挙動

  • 更新のタイミングはインデックスの最大値が更新された時
  • 一番大きいインデックス+1の値を返している

通常(密な配列)

let fruits = ['apple','banana']; // lengthは2

疎な配列

let fruits = ['apple','banana'];
fruits[10] = 'orange'; // lengthは11になる

delete fruits[10]; // lengthは11のまま
fruits[8] = 'mango'; // lengthは11のまま
fruits[15] = 'grape'; // lengthは16になる

lengthを更新した場合

大きく更新(lengthプロパティが変わるだけ)

let fruits = ['apple','banana'];
fruits.length = 100; // lengthが100になるだけ

小さく更新(要素も更新される)

let fruits = ['apple','banana'];
fruits.length = 1;
console.log(fruits); // 0:'apple'
// ↑要素がなくなった!