# Symbol.iterator

7개의 포스트

이터러블/이터레이터 프로토콜 - (2)

지난 포스팅에서 for 문과 for of 의 내부적인 동작방식에 차이가 있고, 그것을 좌지우지하는 것이 Symbol.iterator라는 정체불명의 녀석이라는 이야기까지 했으므로, 이번 포스팅에서는 과연 그 녀석이 어떤 녀석인지 ! 어떤 기능을 가지고 있는지 작성해보도록 하겠습니다. > 이터러블(iterable)은 정확히 무엇인가? 먼저 이터러블이 무엇인지에 대해 이야기하고 --> 이터레이터(iterator)에 대해 이야기하고 --> 이터러블 / 이터레이터 프로토콜이 무엇인지에 대해 이야기해보겠습니다. 이터러블을 정의하자면 다음과 같습니다. > 이터레이터를 반환하는 Symbol.iterator() 를 가진 값 어떤 것이 이터러블인지 아닌지 궁금하시다면 알 수 있는 방법은 간단합니다 !

2022년 9월 5일
·
0개의 댓글
·
post-thumbnail

[JSInfo] iterable 객체

반복 가능한 객체(iterable)은 배열을 일반화한 객체입니다. iterable 객체는 for...of를 사용할 수 있습니다. Symbol.iterator ex) for...of가 사용가능한 객체를 살펴보자. range를 iterable로 만들려면 for...of가 사용가능해야 합니다. 이때 Symbol.iterator를 사용하면 사용이 가능해진다. ex) 위와 같은 방법을 통해 range를 iterator로 만들어 간략하게 출력할 수 있습니다...; 다행히 문자열은 iterable 입니다. 문자열에 for...of를 사용할 경우 각 글자를 순회합니다. 문자열이지만 명시적으로 iterable 사용할 때? 문자열에서 for...of는 작동하지만 수동적으로 작동시킬 경우 Symbol.iterator를 입력하여 주면 됩니다. 명시적으로 사용해서 호출하는 경우는 없지만 종종 사용이 필요할 때가 있습니다. iterable과 유사 배열은 달라요

2021년 10월 26일
·
0개의 댓글
·
post-thumbnail

iterable 객체

iterable 객체 Symbol.iterator라는 메소드를 가지고 있는 객체를 말함 예를들어.. 배열 같은거? 배열은 타입이 object임 객체란소리임 스크린샷 2021-09-25 오후 1 10 01 배열을 콘솔로그로 찍어봤더니 이렇게 쫙 나오는데 맨 밑쪽에 Symbol(Symbol.iterator)라는 메소드가 보임 이러한 이터러블한 객체는 for ... of로 반복을 돌릴 수 있음. 참고로 for ... of는 배열을 반복해서 돌릴때 쓰임 > 문자열도 이터러블 이랜다;; (이유는 모르겠음) 배열과 똑같이 문자열도 광범위하게 쓰이는 내장 이터러블이라고 한다. Symbol.iterator를 이용해서 for.. of

2021년 9월 25일
·
0개의 댓글
·
post-thumbnail

[JS🐣] Symbol 자료형

자바스크립트의 데이터 타입 > 문자열, 숫자, 불리언, undefined, null, 객체 Symbol 이란? ES6에 추가된 7번째 타입 변경 불가능한 원시 타입의 값 이름이 충돌할 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용 Symbol 값의 생성과 특징 1. 심볼 값은 Symbol 함수를 호출하여 생성 가능 2. 다른 데이터 타입의 경우 new 연산자를 이용해 래퍼 객체로의 변환이 가능하지만, symbol은 변경 불가능한 원시 값이기 때문에 사용 불가능 3. Symbol 함수에는 선택적으로 문자열 인수 전달 가능 생성된 Symbol 값에 대한 설명일 뿐 값 생성에는 어떠한 영향도 주지 않음 즉, 설명이 동일한 심볼을 여러개 만들어도 각각의 심볼 값은 다르다 **4. 심볼 값은 문자열

2021년 9월 19일
·
0개의 댓글
·
post-thumbnail

JavaScript - 13

Iterable Iterable 이라는 것은 일종의 개념입니다. 반복가능하다 라는 개념인데, 이러한 개념을 이용하면 for ... of 구문의 사용이 가능합니다. ... spread 문법의 직접적 사용도 가능합니다. (Iterator가 있기 때문) 일반객체의 spread 사용은 중괄호 안에서 제한되어있습니다. 다시말하면 for ... of 구문의 사용이 가능한 객체를 Iterable이라 부릅니다. 이렇게 Iterable한 자료형에는 next(), Symbol.iterator 형태의 함수가 존재합니다. 이러한 자료형으로서는 문자열, Set, Map, Array가 있습니다. Iterable 자료형에 대한 loop for of .map 과 매우 유사하다. const item은 배열의 원소와 매칭되어진다. 다만 반복문을 돌다가 continue, break, return 같은 것을 넣어 반복중간 코드를 끊을수 없다. > arr.entri

2021년 4월 30일
·
0개의 댓글
·
post-thumbnail

이터러블 / 이터레이터 / 제네레이터

자바스크립트 공부중 어려웠던 내용을 복습해 보려고 한다. 그 중 하나가 Iterable/Iterator/Generator 였다. 패스트캠퍼스 Nodejs 올인원 패키지에서는 제대로 설명해 주지 않아서 조금 아쉬웠다. 강좌의 분량을 생각하면 어쩔 수 없기도 했지만, 이해하는데 꽤나 시간을 많이 들였다. 물론 지금도 바로 설명하라고 하면 한참을 어버버 거릴 것 같다. 지식의 상태로 있는 내용들을 내것으로 만드는 건 반복 학습 뿐이라고 생각되기 때문에 다시 한 번 정리해 본다. 참고 자료 : https://poiemaweb.com/es6-iteration-for-of https://poiemaweb.com/es6-generator 내 참스승(?)은 위의 Poiemaweb이다. 늘 감사드립니다.. 이번 포스팅은 위 페이지 내용을 복기하는 식으로 진행하기 때문에 내용은 크게 다르지 않을것이다. Iteration Protocol ES6에서 새로 도입된 데이터 컬렉션 객체(대표적으로

2020년 6월 14일
·
1개의 댓글
·
post-thumbnail

Javascript iterator와 iterable, generator 어떻게 구현하고 사용할까?

iterable? 이터러블한 객체는 [Symbol.iterator] 프로퍼티를 가진 객체이다. Symbol.iterator는 주어진 객체의 이터레이터를 반환하는 함수를 명시한다. iterator? 이터레이터는 반복을 위해 설계된, 특별한 인터페이스를 가진 객체이다. 이터레이터 객체는 next()를 가진다. 연산의 결과로 객체를 반환한다. { value: value, done: boolean } 이터레이터 만들기 간단하게 구현 generator로 iterator 만들기 Javascript 객체 iterable 하게 만들기 위 과정을 한 번에 해보자

2019년 4월 15일
·
0개의 댓글
·