JavaScript/모던 자바스크립트 Deep Dive
27. 이터러블 (Iterable), 스프레드 문법, 구조 분해 할당
이터러블 이터러블 프로토콜을 준수한 객체 즉, Symbol.iterator를 프로퍼티 키로 사용한 메서드를 직접 구현하거나 프로토타입 체인을 통해 상속받은 객체 ✅ 이터러블 프로토콜 (Iterable Protocol) ES6 이전의 순회 가능한 데이터 컬렉션(배열, 문자열, 유사 배열 객체, DOM 컬렉션 등)은 통일된 규약 없이 나름의 구조를 가지고 for 문, for...in문, forEach 메서드 등 다양한 방법으로 순회할 수 있었다. ES6에서는 순회 가능한 데이터 컬렉션을 이터레이션 프로토콜을 준수하는 이터러블로 통일해 for..of문, 스프레드 문법, 배열 디스트럭처링 할당의 대상으로 사용하도록 일원화했다. Symbol.iterator 메서드를 직접 구현하지 않거나 상속받지 않은 일반 객체는..