배열의 선언과 초기화
자바스크립트에서 배열의 선언과 초기화는 배열을 생성하고, 그 배열에 초깃값을 할당하는 것을 의미합니다.
다양한 방법으로 배열을 선언하고 초기화할 수 있습니다.
배열 선언
배열을 생성하는 것을 의미하고, 초기화는 배열에 초깃값을 할당하는 것을 의미합니다.
배열을 선언할 때는 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.