이터러블 객체
- 이터러블 객체에서 이터러블(iterable)이란, ‘순서대로 처리할 수 있다’는 뜻
- 예를 들어, 배열은 인덱스와 값을 가지고 있으므로 인덱스 0부터 차례대로 값을 가져와서 처리할 수 있
기 때문에 이터러블 객체이다. - 문자열과 배열, 맵, 셋이 이터러블 객체이다
- 이터러블 객체에서는 다음과 같은 기능을 사용할 수 있다.
• for...of 반복문
• 전개 연산자(...)
• 구조 분해 할당
이터러블 객체에는 Symbol.iterator 메서드가 포함되어 있다. ( ‘이터러블 프로토콜'이라고 함)
Symbol.iterator 메서드를 실행하면 Iterator 객체가 반환된다
이터레이터 객체란 객체의 요소를 순서대로 꺼낼 수 있는 객체
next() 메서드가 있기 때문에 가능
next() 메서드는 value와 done을 반환한다. value – 다음 값, done – 이터레이터 객체가 끝났는지 여부
제너레이터 함수
- 일반 객체를 이터러블하게 만들기 위해 사용하는 함수
- 일반 함수와 구별하기 위해 function 다음에 *기호를 붙여서 작성
- 함수 안에 return 문 대신 yield 문을 사용
function* gen() {
yield 1;
yield 2;
yield 3;
}
// 1. next() 메서드 사용
let g1 = gen()
g1.next() // {value: 1, done: false}
g1.next() // {value: 2, done: false}
g1.next() // {value: 3, done: false}
g1.next() // {value: undefined, done: true}
g1 // gen {<closed>}
// 2. for ... of 구문 사용
let g2 = gen()
for(let i of g2) console.log(i)
'언어 > 자바스크립트(Java Script)' 카테고리의 다른 글
[자바스크립트] JSON (0) | 2024.08.06 |
---|---|
[자바스크립트] HTTP/HTTPS (0) | 2024.08.06 |
[자바스크립트] Map & Set (0) | 2024.08.06 |
[자바스크립트] 구조 분해 할당 (0) | 2024.08.06 |
[자바스크립트] 내장 객체 (4) | 2024.08.05 |
댓글