JavaScript 배열은 객체이다.

const arr = [1, 2, 3]
arr[3] = "string";
arr["property"] = "property";
arr[{}] = [1, 2, 3];
arr["func"] = function() {console.log("hello world")};

// 1, 2, 3의 값만 출력
for(let i = 0; i < arr.length; i++) {
	console.log(arr[i])
}

// 배열은 객체와 유사한 형태
const obj = {
  0: 1,
  1: 2,
  2: 3,
  3 : "string",
  property : "property",
  "{}" : [1, 2, 3];
	func : function () {console.log("hello world")}
}

// 오류가 발생할 수 있음
if(arr.length) {
 console.log("배열");
}
if(typeof arr === "obeject") {
	console.log("배열");
}
// 배열 확인 시 Array.isArray 사용
if(Array.isArray(arr)) {
	console.log("배열");
}

Array.length

const arr = [1, 2, 3];
arr.length = 10;
console.log(arr); // [1, 2, 3, , , , , , , ]
const arr = [1, 2, 3];

arr[3] = 4;
console.log(arr.length);

arr[9] = 10;
console.log(arr.length);
const arr = [1, 2, 3];
arr.length = 0;
console.log(arr); // []

배열 요소에 접근하기

// 기존 코드
function clickGroupButton(){
const confirmButton = document.getElementByTagName('button')[0];
const cancelButton = document.getElementByTagName('button')[1];
const resetButton = document.getElementByTagName('button')[2];
}

// 구조 분해 할당 처리
const [confirmButton,cancelButton, resetButton] = document.getElementByTagName('button')

유사 배열 객체