자바스크립트 딥다이브를 공부하며 공부하는 내용이 지난 알고리즘 심화반에서 한 내용과 연관 지어 기록해 두기
※ 배열
여러 개의 값을 순차적으로 나열한 자료 구조
- 요소(element): 배열이 가지고 있는 값으로, 자바스크립트의 모든 값은 배열의 요소가 될 수 있음
- 인덱스(index): 요소가 배열에서 자신의 위치를 나타내는 0 이상의 정수로, 배열의 요소에 접근할 때 사용
※ 일반적인 자료구조 배열
밀집 배열
자료구조에서 말하는 배열은 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열된 자료구조
※ 자바스크립트의 배열
희소 배열
배열의 요소가 연속적으로 이어져 있지 않는 배열
배열의 요소를 위한 각각의 메모리 공간은 동일한 크기를 갖지 않아도 되며, 연속적으로 이어져 있지 않을 수도 있음
따라서 엄밀히 일반적인 의미의 배열이 아니며, 일반적인 배열의 동작을 흉내 낸 특수한 객체
해쉬테이블의 형태를 띄지만, 또 해쉬 테이블은 아니고, key-value처럼 index-element를 사용함
---
※ 문자열의 계산
문자열은 stack이 아닌 heap 메모리에 저장됨
문자열이 heap 메모리로 할당되는 이유
- 문자열 = 문자 + 열(배열)
- let str = “abc” → [”a”,”b”,”c”] 이런 배열로 heap에 할당됨
- let a = 0; // stack에 저장됨
- 새로 메모리 할당이 이루어지기 때문에 비효율적인 작업
- 메모리 재할당은 꽤 부하가 큰 작업임
'TIL' 카테고리의 다른 글
[2024.06.20] 모달에 Query string을 사용해 주소값 부여하기 (0) | 2024.06.21 |
---|---|
[2024.06.19] 상세페이지 모달 UI구성 + 공통 컴포넌트에 대한 고민 (0) | 2024.06.21 |
[2024.06.17] 새로운 팀 프로젝트 시작_아웃소싱 프로젝트 (0) | 2024.06.18 |
[2024.06.15~16] 리액트 테스트 (0) | 2024.06.18 |
[2024.06.14] 프로그래머스_다음 큰 숫자 (1) | 2024.06.17 |