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 명세를 읽어보시길 바랍니다.
댓글 달기