본문 바로가기
공부/JavaScript

배열의 특성

by 무심한고라니 2023. 3. 18.

자바스크립트에서는 배열이라는 타입이 존재하지 않으며, 배열의 타입을 찍어보면 객체가 나온다.

 

 

위에서 보다시피, 자바스크립트의 배열은 인덱스와 length 속성이 있는 특수한 객체이다.

 

 

객체다 보니[1], 숫자 이외의 속성을 추가할 수 있으나 length는 변하지 않았음을 확인할 수 있다.

 

 

for-in으로 출력을 해보면 배열이 아닌 값까지 출력되었음을 확인할 수 있다[2].

 

 

그래서 위와 같이 for-of 혹은 forEach[3][4]를 사용하는 게 좋다. 한편 유사배열이라는 것이 있다.

 

 

아래와 같이 배열처럼 인덱스를 통한 접근이 가능하다.

 

 

배열과 유사한 생김새를 지녔지만, 유사배열은 배열이 아니기 때문에 forEach 같은 배열의 메소드를 사용할 수 없다.

 

 

또한 유사배열은 이터러블[5]도 아니기 때문에 for-of, 전개구문 역시 사용할 수 없다.

 

 

한편, 위와 같이 객체 리터럴 내부에서는 전개 구문 사용이 가능하다.

 

-----

1. 객체와 배열을 구분할 수 있는 방법은 다음과 같다.

2. for-in 반복문은 enumerable한 모든 값들을 순회한다.

3. for-of 반복문을 사용할 수 있는 이유는 배열이 이터러블이기 때문이다.

4. forEach 반복문은 중간 break가 없어 전체를 순회한다는 단점이 있다.

5. 이터러블은 for-of, 전개구문, 배열 디스트럭처링의 대상이다.

'공부 > JavaScript' 카테고리의 다른 글

객체 병합  (0) 2023.04.11
클로저의 활용  (0) 2023.03.15
this 관련 몇 가지 예제  (0) 2023.03.15
실행 컨텍스트 관련 예제  (0) 2023.03.15
중복 제거 후 병합  (0) 2023.03.13

댓글