모던 자바스크립트 Deep Dive 34장~36장 이러터블/스프레드 문법/디스트럭처링 할당
이러터블이 Symbol.iterator 메서드를 호출하면 이터레이터 프로토콜을 준수한 이터레이터를 반환한다. next 메서드를 호출하면 value, done 프로퍼티를 가진 이터레이터 리절트 객체를 반환한다. for ...of 문은 some 과는 다르게, done 프로퍼티가 true가 될 때까지 반복한다. Rest 파라미터와 스프레드 문법은 서로 반대의 개념이다. // Rest 파라미터는 인수들의 목록을 배열로 전달받는다. function foo(...rest) { console.log(rest); // 1, 2, 3 -> [ 1, 2, 3 ] } // 스프레드 문법은 배열과 같은 이터러블을 펼쳐서 개별적인 값들의 목록을 만든다. // [1, 2, 3] -> 1, 2, 3 foo(...[1, 2, 3])..