CODEDRAGON ㆍDevelopment/JavaScript, jQuery, ...
배열과 객체의 유사점/차이점
생성방식을 제외한 자바와 자바스크립트의 차이점은 거의 없습니다.
구분 |
배열 |
객체 |
typeof 비교 |
Object |
Object |
length프로퍼티 존재 여부 |
있음 |
없음(undefined) |
표준 배열 메서드 호출 여부 |
호출가능 |
에러발생 |
프로토타입 객체 |
Object,prototype |
Array.prototype |
유사 배열 객체(array-like objects)
· 자바스크립트에서 length프로퍼티를 가진 객체는 "유사 배열 객체"라고 지칭합니다.
· 유사 배열 객체의 가장 큰 특징은 객체임에도 불구하고 자바스크립트의 표준 배열 메소드를 사용할 수 있습니다. (apply()메소드를 사용하면 객체지만 표준 배열 메소드를 활용할 수 있습니다)
객체와 배열의 프로토타입 도식도
· Array.prototype객체는 push(), pop()같은 배열에서 사용할 수 있는 표준 메소드를 포함하고 있습니다.
· 배열은 Array.prototype의 표준 메소드와 Obejct.prototype의 표준 메소드를 모두 사용 가능합니다.
객체에서 push()한 경우
· 객체는 push()메소드가 없으므로 에러가 발생합니다.
· 이것은 객체와 배열의 부모 프로토타입 객체가 서로 다르기 때문입니다.
'Development > JavaScript, jQuery, ...' 카테고리의 다른 글
객체 생성하기(자바 vs 자바스크립트), 객체 생성하기 - Object()생성자 함수 이용, 객체 리터럴 방식으로 객체를 생성 (0) | 2017.06.26 |
---|---|
자바스크립트의 객체(object), 객체(Object), 자바스크립트 객체 자료형 도식도 (0) | 2017.06.26 |
정렬 - 문자열 정렬, 숫자 배열의 정렬, 역순정렬 방법 2가지-sort() 이용하여 역순정렬, reverse() 이용하여 역순정렬 (0) | 2017.06.26 |
배열의 요소 삭제 - delete연산자를 이용한 배열 요소 삭제, splice( )배열 메소드를 이용한 배열 요소 삭제 (0) | 2017.06.26 |
length프로퍼티, 형식, length 속성 사용시 주의사항 (0) | 2017.06.26 |