fffo
배열 본문
배열
배열이란
- js에서 배열은 배열을 흉내내는 특수한 객체 타입
- 배열과 일반적인 객체의 차이점은 값의 순서 유무와 length 프로퍼티 유무
- 일반적으로 배열 자료구조는 각 요소가 동일한 데이터 크기를 가지고 연속적으로 이어져 있는 밀집 배열(dense array)임
- js에서 배열은 각 요소가 동일한 데이터 크기를 가질 필요가 없고 연속적이지 않을 수 있는 희소 배열(sparse array)임
- js의 배열은 해시 테이블로 구현된 객체이므로 인덱스로 접근 시 일반적인 배열보다 성능상 불리하지만 특정 요소 검색이나 삽입, 삭제에 성능상 유리
- 모던 js는 이러한 단점을 극복하고자 배열을 다른 객체와 다른 배열답게 최적화함
length 프로퍼티
- length 프로퍼티는 0 ~ 2^32(약 42억) -1 사이의 수
- length를 명시적으로 할당 시
- 더 작은 수를 할당하면 배열의 크기가 줄어듦
- 더 큰 수를 할당해도 length는 할당 되지만 실제 배열의 크기는 커지지 않음 → empty가 출력되지만 실제로 메모리 공간 확보 이루어지지 않음
- length와 실제 배열 요소의 개수가 일치하지 않는 희소 배열은 지양
'Programming > Javascript' 카테고리의 다른 글
브라우저 저장소들의 차이점 (로컬스토리지, 세션스토리지, 쿠키) (0) | 2021.11.05 |
---|---|
javascript로 d-day 만들 때 Math.floor를 쓰면 안되는 이유 (0) | 2021.10.27 |
ES6 함수의 추가 기능 (0) | 2021.10.16 |
클래스 상속 (0) | 2021.10.15 |
클래스 (0) | 2021.10.13 |
Comments