JavaScript, 객체와 배열 사이의 차이점을 모르겠습니다
글쓴이: gurumong / 작성시간: 일, 2009/10/11 - 8:38오후
자바스크립트를 배우고 있습니다
그런데 배울수록 객체와 배열의 차이점을 잘 모르겠습니다
선언할때 서로 다른 생성자를 사용하는것으로 보아서 언어적으로는 구별하고 있는것 같은데요
실제로는 아래 처럼 어떤 생성자를 사용하여 선언했는지와 무관하게
사용이 가능해서 둘 사이 어떤 차이점이 있는지 잘 모르겠습니다
// Object생성자를 사용하여 객체 선언, 하지만 배열 처럼 사용
var a = new <span>Object()</span>;
a[5] = 10;
alert(a[5]);
// Array생성자를 사용하여 배열 선언, 하지만 객체 처럼 사용
var b = new <span>Array</span>();
b.fifth = function() {
alert(5);
};
b.fifth();Forums:


정확히 이야기하자면 Object는 배열이 아니라 연관배열입니다.
연관배열의 내부 mechanism은 hash table인 것으로 알고 있습니다.
JavaScript의 Array는 Object의 일종으로 추가적인 method를 지원합니다.
정확하게 알고 싶다면 ECMA script 명세를 읽어보시길 바랍니다.