객체는 해쉬테이블 종류 중 하나이다
무엇인가?? key와 value가 쌍을 이룬 형태로 데이터가 저장되어있는 자료구조형
js배열은 key가 오직 index만 가능하다
객체는 문자열 또한 key가 될 수 있다
key가 input됨 -> 해쉬 함수로 무작위로 주소값 생성 -> 생성된 주소값에 key와 value를
저장한다
특징은 일방향이다. 무작위로 주소값을 생성할때 이 값으로 input값이 무엇인지는 알수없다
그럼 input값이 동일할때는?? 항상 동일한 랜덤 output이 출력된다
장점은 검색, 삽입, 삭제에서 빠른 속도를 보인다 O(1)
하지만 해쉬 충돌이라는 단점이 존재한다
왜???? 배열과 달리 자료구조가 정렬되어 있지 않다
그래서??? 메모리 공간에서 주소값을 부여할때 랜덤하게 부여하기때문!!
예) 첫번째 데이터 0번째 주소에 들어감, 두번째 데이터 1번째에 들어갈 보장이 없다
랜덤하게 주소가 배정되는 특성에 따라 0번째 메모리 주소에만 수많은 데이터가 저장되있을수도 있음
ES6이후에 추가가 되었다
Map 특징: key에 함수, 숫자, 배열타입이 들어올수있고, order가 있어 정렬이 되어있다
Set 특징: Map과 비슷하지만, 메모리공간에 key만 저장한다!