반응형
- 물음
객체와 배열의 차이가 뭘까?
- 정리
1. 공통점
(1) typeof 연산자를 배열에 사용하였을 때 Object가 출력된다.
(2) 배열과 객체는 프로퍼티를 가질 수 있다. 배열 인덱스에 사용할 수 없는 값을 할당하게 되면 이것은 객체의 프로퍼티처럼 동작함. 아래 링크 참조.
http://stackoverflow.com/questions/874205/what-is-the-difference-between-an-array-and-an-object
(3) 배열은 속성과 기능을 갖는데 이것은 객체의 특징임.
(4) 스크립트에서 객체는 배열처럼 인덱스를 갖고 있지는 않지만 연관배열이라는 인덱스와 유사한 개념을 갖고 있음. ( 실제로는 인덱스가 아니라 프로퍼티를 추가하는 것이지만. )
2. 차이점
(1) 객체는 인덱스의 개념이 없음. 자바스크립트에서는 객체에도 a[1] = 20과 같은 방식으로 값을 할당할 수는 있으나 이것은 인덱스를 생성하는 것이 아니라 프로퍼티에 값을 할당하는 것으로 처리됨.
(2) 객체는 length 프로퍼티가 없음. 인덱스가 없으므로 지극히 당연함. String 객체에는 length가 있지만 의미가 다소 다름.
(3) 리터럴 표기법이 다름. 객체는 = {}, 배열은 = []
(4) 배열의 prototype은 Array임.
- 결론
배열은 추가기능을 조금 지닌 객체다.
반응형
'javascript' 카테고리의 다른 글
계산기 만들기 (0) | 2013.11.29 |
---|---|
with 키워드 (0) | 2013.11.26 |
자바스크립트 (0) | 2013.10.24 |
<a>문서연결,문서내연결,상자위치 지정,이벤트 처리방식,String객체 (0) | 2013.10.22 |
# 노드관련 메서드 (insertBefore,replaceChild,removeChild,appendChild) (0) | 2013.10.20 |