(티스토리는 PC에서 문단이 안보이는 현상이 있습니다.)
우리가 흔히 C++, java 등에 있는 array하고는 다릅니다.
c++, java 등에서 사용되는 array는 연속된 메모리주소에 있는 값을 말합니다.
int[] a = new int[]{0,1,2,3,4,5};
(메모리주소) (값) (값) (값) (값) ...
00400400 00 01 02 03 04 05 ...
하지만, javascript에서 array는 객체입니다.
연속된 메모리를 가지는 것은 아닙니다.
그리고 객체는 Property를 가질 수 있습니다.
var john = []; // john이라는 배열이라는 **객체** 생성.
john[“name”] = “john” // 객체는 속성을 가질 수 있음.
그러므로 john[“name”] = “john” 이 작동 되는 것입니다.
알아두셔야 할 것은…
javascript에서 Array는
- Map이다. ( 즉 연속된 메모리 공간에 저장하는 것이 아닙니다. )
- a[0]=1 a[99]=1 해도 정상작동.
- 객체다.
- 객체 이기 때문에 속성(Property)을 가질 수 있다.
- 더 정확히 말하면 javascript에서 모든 type은 prototype을 가집니다.
- 요소(element)의 수를 세는 것이 아니라 제일 큰 index를 출력 합니다.
- a[0]=1 a[99]=1 a.length하면 100 출력
'Javascript > Javascript' 카테고리의 다른 글
자바스크립트가 어떠한 방법으로 비교를 하는가? (Do you know x==y Equality Comparison Algorithm in javascript?) (0) | 2019.03.23 |
---|---|
javascript this에 대해서 제대로 알아봅시다. (0) | 2019.02.27 |
apply, call, bind 차이 (0) | 2018.12.22 |