[Poiemaweb] JavaScript 28 (자바스크립트 배열은 배열이 아니다)

Hyobi Lim·2025년 1월 12일

[Poiemaweb] JavaScript

목록 보기
15/15

밀집 배열 - 일반적인 배열로 동일한 크기의 메모리 공간이 연속적으로 나열된 자료구조

자바스크립트의 배열은 지금까지 살펴본 일반적인 의미의 배열과 다름
희소 배열 - 배열의 요소를 위한 각각의 메모리 공간은 동일한 크기를 갖지 않아도 되며 연속적으로 이어져 있지 않을 수도 있음

const arr = ['string', 10, true, null, function () {}];

자바스크립트의 배열은 엄밀히 말해 일반적 의미의 배열이 아님
자바스크립트의 배열은 일반적인 배열의 동작을 흉내낸 특수한 객체
자바스크립트 배열은 인덱스를 프로퍼티 키로 갖으며 배열의 요소는 프로퍼티 값
자바스크립트에서 사용할 수 있는 모든 값은 객체의 프로퍼티 값이 될 수 있으므로 어떤 타입의 값이라도 배열의 요소가 될 수 있음

일반적인 배열과 자바스크립트 배열의 장단점

  • 일반적인 배열은 인덱스로 배열 요소에 빠르게 접근 가능 but 특정 요소를 탐색하거나 요소를 삽입 또는 삭제하는 경우에는 비효율적
  • 자바스크립트 배열은 해시 테이블로 구현된 객체이므로 인덱스로 배열 요소에 접근하는 경우, 일반적인 배열보다 성능적인 면에서 느릴 수 밖에 없는 구조적인 단점 but 특정 요소를 탐색하거나 요소를 삽입 또는 삭제하는 경우에는 일반적인 배열보다 빠른 성능을 기대
    =자바스크립트 배열은 인덱스로 배열 요소에 접근하는 경우에는 일반적인 배열보다 느리지만 특정 요소를 탐색하거나 요소를 삽입 또는 삭제하는 경우에는 일반적인 배열보다 빠름
profile
Front-end Developer 💻🔜

0개의 댓글