반복자, for of, for in

이재준·2023년 1월 6일
0

##Iterator가 뭘까

iterate : 반복하다.
iterator : 반복자.

  1. 반복자는 순회를 수행하고 컨테이너의 데이터 요소에 대한 액세스를 제공하지만 자체적으로 반복을 수행하진 않는다.

  2. 반복자는 객체 지향적 프로그래밍에서 배열이나 그와 유사한 자료구조의 내부요소를 순회하는 객체다.

  3. iterator는 리스트나 셋과 같은 컬렉션을 반복하는 데 사용할 수 있는 객체이다.

  4. 반복문을 써도 충분한 것 같은데 왜 만들어진걸까?

  • 리스트는 인덱스가 있지만 Set은 순서가 없는 컬렉션이여서 인덱스가 없다.
  • iterator는 for-each 문이 할 수 없는 일을 할 수 있다.
  • iterator는 양방향으로 반복할 수 있는 기능이 있다. (next(), previous())
  • for-each문은 오직 처음에서 끝으로.
  • hasNext()로 더 많은 요소가 있는지 확인가능.
  • 반복하다가 요소 삭제, 수정도 가능.
  1. JS에서 for in, for of
    1) for in
  • 객체의 속성들을 반복하여 작업을 수행할 수 있다.
  • 객체의 key 값에는 접근이 가능하지만, value 값에는 접근기능이 없다.
  • JS에서는 객체 속성들이 내부적으로 숨겨진 속성들을 가지고 있는데 그 중 Enumerable이 있다. for in은 이 값이 true로 셋팅되어 속성들만 바복할 수 있다.

2) for of

  • ES6에 추가된 새로운 컬렉션 전용 반복 구문.
  • 사용하기 위해서는 컬렉션 객체가 [Symbol.iterator] 속성을 가지고 있어야만 한다.

*20230106 수정.

profile
동동이의 개발일기

0개의 댓글