자바스크립트의 배열은 많은 언어의 배열과는 다르게 다양한 형태의 값을 가질 수 있는 유연성을 가지고 있다. 이는 자바스크립트가 동적 타입 언어이기 때문이다. 여기서는 자바스크립트의 배열의 중요한 특성들에 대해 알아보도록 하자.
자바스크립트의 배열은 객체의 한 형태로, 인덱스와 요소를 하나의 쌍으로 가지고 있는 구조이다. 배열의 각 요소는 어떤 자료형이든 상관없이 가질 수 있으며, 배열의 크기 역시 동적으로 변경될 수 있다.
let mixedArray = [1, '사과', true, { name: '홍길동' }, [2, 4, 6]];
console.log(mixedArray.length); // 5
자바스크립트 배열의 length
속성은 배열에 있는 요소의 개수를 나타낸다. 빈 배열의 경우 length
는 0이다. length
속성은 쓰기 가능하므로, 수동으로 값을 변경하여 배열의 크기를 조절할 수 있다.
자바스크립트에서는 다양한 방법으로 배열을 순회할 수 있다. 가장 일반적인 방법은 for 루프를 사용하는 것이다. 또는 forEach
, map
, filter
, reduce
등의 메서드를 사용할 수도 있다.
let fruits = ['사과', '바나나', '체리'];
fruits.forEach((fruit, index) => {
console.log(`인덱스 ${index}: ${fruit}`);
});
배열은 push
, pop
, shift
, unshift
, splice
, slice
등 다양한 메서드를 통해 요소를 추가, 삭제, 추출하거나 배열 자체를 변경할 수 있다.
let fruits = ['사과', '바나나', '체리'];
fruits.push('오렌지'); // 사과, 바나나, 체리, 오렌지
let lastFruit = fruits.pop(); // 오렌지
유사 배열 객체는 일반 객체이지만, 배열과 유사한 속성(인덱스와 length
속성)을 가지는 객체를 말한다. arguments
객체가 유사 배열 객체의 대표적인 예이다. 유사 배열 객체는 배열 메서드를 사용할 수 없지만, Array.from
메서드나 스프레드 연산자(...
)를 사용하여 일반 배열로 변환할 수 있다.
let arrayLike = {0: '사과', 1: '바나나', 2: '체리', length: 3};
let array = Array.from(arrayLike); // ['사과', '바나나', '체리']
이렇게 자바스크립트의 배열은 다양한 특성과 메서드를 가지고 있어, 매우 유연하고 강력한 자료구조라는 것을 알 수 있다. 이를 잘 이해하고 활용하면 효과적인 코딩이 가능하다.