Web Dev/1. JS 문법 관련
[함수형 프로그래밍] 섹션 2. ES6에서의 순회와 이터러블: 이터레이터 프로토콜
hYhY1234
2021. 1. 21. 12:41
728x90
기존과 달라진 ES6에서의 리스트 순회
- for i++
- for of
Array, Set, Map을 통해 알아보는 이터러블/이터레이터 프로토콜
- 이터러블: 이터레이터를 리턴하는 [Symbol.iterator]() 를 가진 값
- 이터레이터: {value, done} 객체를 리턴하는 next()를 가진 값
- 이터러블/이터레이터 프로토콜: 이터러블을 for...of, 전개 연산자 등과 함께 동작하도록한 규약
- 이터레이터 객체의 Symbol.iterator 값은 자기자신이다
- Array Set Map은 JavaScript의 내장 이터러블이다.
사용자 정의 이터러블을 통해 알아보기
- iterable 객체는 Symbol.iterator를 가지고 있어야하고, 이안에는 next 메소드가 구현이 되어 있어야 한다
- 잘구현된 이터러블의 경우(well-formed iterable), 이터레이터의 이터레이터로도 순회할 수 있어야한다.
- 잘구현된 이터러블의 경우, 일부는 먼저 조회한후 나머지만 순회할 수도 있어야한다.
- 많은 순회가 가능한 라이브러리 등등은 이 형태를 따르고 있다.
전개 연산자
- Iterable 속성을 이용한 연산