본문 바로가기

전체 글

(203)
[알고리즘] 주어진 정수 N 까지의 소수 구하기 (시간복잡도&제너레이터) [시간복잡도 O(N^2)] 일반함수 버전 const isPrimeNumber = (number) =>{ for (let i =2; i
[Javascript] 제너레이터 (Generator) 이터러블, 이터레이터와 비교 generator yield는 제너레이터 함수 안에 존재 next는 함수 밖에서 호출되는 메서드, yield를 순서대로 부름 function* generateSequence() { yield 1; yield 2; return 3; } let generator = generateSequence(); console.log(generator.next()); // {value: 1, done: false} console.log(generator.next()); console.log(generator.next()); console.log(generator.next()); [실행결과] 어디서 많이 봤다. 어디서? Symbol.iterator() 메소드가 반환하는 값 = interator const array = [..
[Javascript] (iterable 프로토콜, iterator 프로토콜) of [iteration 프로토콜] ES6에서 도입됨 이터러블은 데이터 공급자의 역할 다양한 이터러블이 각자의 순회방식을 갖는다면, 데이터 소비자는 모든 방식을 각각 지원해야한다. 효율성을 위해 프로토콜(규칙)을 정의 이터러블은 Lazy evaluation(지연평가)를 통해 값을 생성한다. 100개의 값이 필요할때 처음부터 100개를 만드는 것이아니고, 하나씩 next -> next-> next로 하나씩 만든다. 할당이 이루어지기 전까지는 데이터를 생성하지 않는다. iteration 프로토콜 데이터 컬렉션을 순회하기 위한 프로토콜(규칙) 이터레이션 프로토콜(규칙)을 준수한 객체는 for문으로 순회할 수 있고, spread문법으로 펼칠 수 있다. 이터레이션 프로토콜 (대분류) 안에 이터러블 프로토콜과 이터레이터 프로토콜이 있다. iterab..