Javabom
  • Initial page
  • kimdh
    • ShouldKnow
    • IntelliJ
    • Spring Framework
      • SpringBoot
        • exception handling
      • SpringCloud
        • Zuul
        • Eureka
        • Ribbon
    • README.md
    • Web
      • RESTApi
      • Material Design
      • React
        • ESLint
    • Scala
      • Akka
    • Kotlin
    • DevTools
      • Redmine
      • Gerrit
      • Jenkins
      • VisualParadime
  • daengdaenglee
    • styled-components 라이브러리 활용 예
    • Postfix Notation
      • Stack을 이용하여 infix notation을 postfix notation으로 변경하기
      • Postfix Notation 계산하기
    • Slack App
      • Slack App 만들기 기초
  • EUNCHU
    • Javascript
      • Promise
      • Iterable Iterator 정의
    • Hooks
    • Java spring
      • Lombok
      • Untitled
    • Mysql
  • MINHEE
    • Spring Boot
      • 직렬화
        • 직렬화(Serializable)
        • Java의 직렬화(Serialize)란?
      • Optional [Java 8]
      • JPA
        • java bean mapper와 DTO
        • DAO - DTO - Entity의 차이
        • Map Struct 참고
      • Date의 흐름
    • Session 관리
      • Storage
        • localStorage/sessionStorage 클라이언트에 정보 저장
          • React 블로그 - 로그인 구현
      • Spring Security
        • Spring Security 회원가입 / 로그인 구현
  • Sherry
    • Untitled
  • JeongAh
    • Untitled
Powered by GitBook
On this page
  • 이터러블/이터레이터 프로토콜에 대한 정의 & 간단 예제
  • 참고 링크
  • mdn : The iterable protocol mdn
  • 한글 버전

Was this helpful?

  1. EUNCHU
  2. Javascript

Iterable Iterator 정의

이터러블/이터레이터 프로토콜에 대한 정의 & 간단 예제

Iterable 이란?

이터레이터를 리턴하는 [Symbol.iterator]() 를 가진 값

Iterator 란?

{ value, done } 객체를 리턴하는 next() 를 가진 값

이터러블/이터레이터 프로토콜:

이터러블을 for ... of, 전개 연산자 등과 함께 동작하도록한 규약

  1. 배열을 이용한 심플 예제

const arr = [1,2,3];
for (const a of arr) console.log(a);

arr 은 [Symbol.iterator] 라는 메서드를 가지고 있고, 평가하면 함수가 반환된다.

arr[Symbol.iterator] // 입력시
f values() { [native code] } // 출력
arr[Symbol.iterator]() // 함수 실행시,
Array Iterator() // 출력값

let iterator = arr[Symbol.iterator]();
iterator.next(); // 반환된 이터레이터 실행 시,
> {value: 1, done: false} // 안에있는 값이 하나씩 출력됨
...
> {value: undefined, done: true}
  • for ... of 문은 value에 들어오는 값을 a에 담아서 출력하다가 done 값이 true가 되면 for문을 빠져나오게 되어 있다.

  • new Set([1,2,3]), new Map() 역시 동일하다.

참고 링크

PreviousPromiseNextHooks

Last updated 5 years ago

Was this helpful?

mdn :

The iterable protocol mdn
한글 버전