배열과 유사한 객체. Array-Like Object
이름 그대로 배열과 유사한 객체를 유사배열이라고 한다.
영어로는 Array-Like Object.
유사배열에도 최소한 갖춰야할 조건이 있다.
각 요소에 0부터 시작하는 숫자 형태의 index가 있어야 한다.
객체가 가지고 있는 요소의 갯수를 저장하는 length 프로퍼티는 배열의 특징이라고 할 수 있는데,
유사 배열 역시 length 프로퍼티가 있어야 유사배열이라고 할 수 있다
let arrayLikeObject = {
0: 'a',
1: 'b',
2: 'c',
length: 3
}
위와 같이 key
가 숫자로 되어있고 length프로퍼티를 가지고 있으면 유사배열이라고 할 수 있다.
유사 배열이 배열과 다른 가장 큰 이유는 기본적은 배열의 메소드를 사용할 수 없다는 점이다.
이 점이 유사배열을 활용하는 목적이 되기도 하는데..!
내부의 요소들을 배열처럼 다루지만 배열의 메소드 사용은 막고 싶은 경우, 일반 배열에는 없는 특별한 메소드를 제공하고 싶을 때 유사 배열을 만들어 활용하기도 한다.
유사 배열은 배열과 비슷하지만 배열은 아니기 때문에 false를 리턴한다