아니 검색해도 실제로 쓰는 건 본 적없음;
iterator는 for of의 순회자로 쓰는건데 forEach가있는데 ES6에서는 도대채 이기능이 왜나온거?
forEach로도 각 원소의 순회방법을 익명함수로 정의 할 수 있고 Symbol.iterator도 마찬가지.
근데 왜나온거
아니 검색해도 실제로 쓰는 건 본 적없음;
iterator는 for of의 순회자로 쓰는건데 forEach가있는데 ES6에서는 도대채 이기능이 왜나온거?
forEach로도 각 원소의 순회방법을 익명함수로 정의 할 수 있고 Symbol.iterator도 마찬가지.
근데 왜나온거
이터레이터로 for of 돌리면 지연평가가 생김
잠재적으로 무한한 데이터 다룰때 쓰는거
물논 꼭 무현데이터 쓸 필요는 없다 이기야
이터레이터가 중요한게 아니라 제너레이터가 중요한듯
지연평가가먼데
배열이 있으면 [1, 2, 3, 4, 5, 6] 이렇게 있을거 아님
그래서 일반화해서 [begin, end)로 배열을 만들고 싶어서 range를 만든다 치면
range(1, 100)해서 [1, 2, 3, ...99, 100] 이렇게 할 수 있잖음
니가말한게 끝이면 구지 쓸필요없어보이는데?
근데 저걸 배열을 반환하는게 아니라 규칙대로 자라나는 배열생성규칙? 같은걸 만들면 배열처럼 쓸수도 있고 무한한 데이터도 품을 수 있음
저 규칙으로 만들어지는 데이터에 접근하는게 for of같은거고
진짜 배열을 만드는게 아니니까 1~100까지 생성규칙 만들고 1~30까지만 쓰면 31~100은 생성되지도 않음
접근한것만 쓰니까 무한하게 정의하고 필요한만큼 꺼내쓰는게 가능