배열의 선언과 초기화
자바스크립트에서 배열의 선언과 초기화는 배열을 생성하고, 그 배열에 초깃값을 할당하는 것을 의미합니다.
다양한 방법으로 배열을 선언하고 초기화할 수 있습니다.
배열 선언
배열을 생성하는 것을 의미하고, 초기화는 배열에 초깃값을 할당하는 것을 의미합니다.
배열을 선언할 때는 let, const, 또는 var 키워드를 사용하여 변수를 선언합니다. 일반적으로 let이나 const를 사용하는 것이 좋습니다.
다음의 방식을 사용해서 배열을 생성할 수 있습니다.
- 배열 리터럴
Array()생성자 함수Array.of()-
Array.from()
빈 배열만을 선언할 수도 있고 선언과 동시에 초기화도 할 수 있습니다.
배열 리터럴
배열은 대괄호([])로 구성되며 쉼표로 구분 된 0개 이상의 항목들을 포함합니다.
const arr1 = []; // 요소가 없는 빈 배열 선언
const arr2 = [1, 2, 3]; // 요소가 있는 배열 선언과 초기화
Array() 생성자 함수
Array() 생성자 함수는 새로운 배열 객체를 생성할 때 사용합니다.
const arr3 = new Array(); // 요소가 없는 빈 배열 선언
console.log(arr3); // []
const arr4 = new Array(5); // 크기가 5인 빈 배열 선언
console.log(arr4); // [empty × 5]
const arr5 = new Array(1, 2, 3, 4, 5); // 초깃값을 가진 배열 선언과 초기화
console.log(arr5); // [1, 2, 3, 4, 5]
Array.of()
Array.of() 메서드는 전달된 인수를 요소로 같는 배열을 생성합니다.
const arr6 = Array.of(); // 요소가 없는 빈 배열 선언
console.log(arr6); // []
const arr7 = Array.of(1, 2, 3, 4, 5); // 초깃값을 가진 배열 선언과 초기화
console.log(arr7); // [1, 2, 3, 4, 5]
Array.from()
Array.from() 메서드는 유사 배열 객체나 이터러블 객체를 인수로 전달받아 배열로 변환하여 반환합니다.
const arr8 = Array.from("coding");
console.log(arr8); // ['c', 'o', 'd', 'i', 'n', 'g']
빈 배열 선언 후 나중에 초기화
빈 배열 선언 후 나중에 초기화하는 방법에 대해 알아보겠습니다.
빈 배열 선언 후 값 배열 인덱스로 값 추가하기
빈 배열을 선언하고 특정 인덱스에 직접 값을 할당하는 방법은 배열 초기화의 한 가지 방법입니다. 이 방법은 필요한 인덱스에만 값을 채우고 싶을 때 유용합니다.
const arr = []; // 빈 배열을 먼저 선언
/* 배열 인덱스로 값 추가하기 */
arr[0] = "사과";
console.log(arr); // ['사과']
arr[1] = "배";
console.log(arr); // ['사과', '배']
arr[2] = "귤";
console.log(arr); // ['사과', '배', '귤']
빈 배열 선언 후 값 배열 메서드로 값 추가하기
const arr = []; // 빈 배열을 먼저 선언
/* 배열 메서드로 값 추가하기 */
arr.push("사과"); // 맨 뒤에 추가
console.log(arr); // ['사과']
arr.push("배"); // 맨 앞에 추가
console.log(arr); // ['사과', '배']
주의할 점
배열을 const로 선언할 경우, 배열 자체를 재할당할 수는 없지만 배열의 내용은 수정할 수 있습니다.
const arr = [1, 2, 3];
// 배열의 요소 수정 가능
arr[0] = 10;
arr.push(4);
console.log(arr); // [10, 2, 3, 4]
// 하지만 전체 배열을 재할당하는 것은 불가능
arr = [5, 6, 7]; // 오류 발생: TypeError: Assignment to constant variable.