배열과 객체의 유사점/차이점, 유사 배열 객체(array-like objects), 객체와 배열의 프로토타입 도식도, 객체에서 push()한 경우

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()메소드가 없으므로 에러가 발생합니다.

·       이것은 객체와 배열의 부모 프로토타입 객체가 서로 다르기 때문입니다.