[JavaScript] 유사배열

Happy_Nerd·2021년 2월 18일
0

JavaScript

목록 보기
4/5
post-thumbnail

유사배열이란

배열과 유사한 객체. Array-Like Object

이름 그대로 배열과 유사한 객체를 유사배열이라고 한다.
영어로는 Array-Like Object.

유사배열에도 최소한 갖춰야할 조건이 있다.

유사배열의 조건

1. 숫자 형태의 indexing이 가능하다

각 요소에 0부터 시작하는 숫자 형태의 index가 있어야 한다.

2. length 프로퍼티가 있다

객체가 가지고 있는 요소의 갯수를 저장하는 length 프로퍼티는 배열의 특징이라고 할 수 있는데,
유사 배열 역시 length 프로퍼티가 있어야 유사배열이라고 할 수 있다

let arrayLikeObject = {
  0: 'a',
  1: 'b',
  2: 'c',
  length: 3
}

위와 같이 key숫자로 되어있고 length프로퍼티를 가지고 있으면 유사배열이라고 할 수 있다.


3. 배열의 기본 메소드를 사용할 수 없다

유사 배열이 배열과 다른 가장 큰 이유는 기본적은 배열의 메소드를 사용할 수 없다는 점이다.

이 점이 유사배열을 활용하는 목적이 되기도 하는데..!
내부의 요소들을 배열처럼 다루지만 배열의 메소드 사용은 막고 싶은 경우, 일반 배열에는 없는 특별한 메소드를 제공하고 싶을 때 유사 배열을 만들어 활용하기도 한다.

4. Array.isArray(유사배열) == false

유사 배열은 배열과 비슷하지만 배열은 아니기 때문에 false를 리턴한다

0개의 댓글