728x90
    
    
  // Iterable 하다는건! 순회가 가능하다는 것
// [Symbol.iterator](): IterableIterator<T>
// 심볼정의를 가진 객체나, 특정한 함수가 IterableIterator<T>를
// 리턴한다는 것은 순회 가능한 객체다! 라는것을 의미한다.
// 순회가 가능하면 무엇을 할 수 있나?
// 바로 반복문, 연산자들을 사용할 수 있습니다.
const arr = [1, 2, 3]
console.log(arr.values())
console.log(arr.entries())
console.log(arr.keys())
// iterator 사용해 보기
// values는 iterableIterator를 리턴합니다.
const iterator = arr.values()
while (true) {
  const item = iterator.next()
  //   item이 마지막이라면 while문 나갑니다.
  if (item.done) break
  console.log(item.value)
}
// arr의 값을 하나하나씩 item에 할당할 수 있다.
for (let item of arr.values()) {
  console.log(item)
}
// 일반 오브젝트는 iterable한 규격 사항을 준수하지 않습니다.
// 즉 iterable한 함수가 들어있지 않습니다.
// 오브젝트의 키를 가져올 수 있습니다.
const obj = { id: 123, name: 'Ellie' }
for (const item in obj) {
  console.log(item)
}728x90
    
    
  '프론트엔드 > 자바스크립트' 카테고리의 다른 글
| 이터레이션(이터러블) (0) | 2022.04.20 | 
|---|---|
| 제너레이터 (0) | 2022.04.20 | 
| Inheritance (0) | 2022.03.31 | 
| Getter & Setter (0) | 2022.03.30 | 
| 논리 연산자 (0) | 2021.10.15 |