typeof 연산자나, length 속성으로 배열을 판별할 경우 오류가 발생 할 수 있음
(객체처럼 취급 되거나 string 또한 length가 존재하기 때문)
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("배열");
}
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')