You Can Become A
๋ฆ๊ฒ ์์ํด๋ ๋๊ตฌ๋ ์ง ๋ ธ๋ ฅํ๋ฉด ๊ฐ๋ฐ์๊ฐ ๋ ์ ์์ด์ !
yield
[JS] ๐ ์ ๋๋ ์ดํฐ - ์ดํฐ๋ ์ดํฐ ๊ฐํํ
์ ๋ค๋ ์ดํฐ๋? ์ดํฐ๋ฌ๋ธ์ด๋ฉฐ ๋์์ ์ดํฐ๋ ์ดํฐ = ์ดํฐ๋ ์ดํฐ๋ฅผ ๋ฆฌํดํ๋ ํจ์ (async๊ฐ Promise๋ฅผ ๋ฆฌํดํ๋ ํจ์๋ฏ์ด, ์ ๋๋ ์ดํฐ๋ ์ดํฐ๋ ์ดํฐ๋ฅผ ๋ฆฌํดํ๋ ํจ์๋ค.) โ ์ ๋๋ ์ดํฐ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ดํฐ๋ ์ด์ ํ๋กํ ์ฝ์ ์ค์ํด ์ดํฐ๋ฌ๋ธ์ ์์ฑํ๋ ๋ฐฉ์๋ณด๋ค ๊ฐํธํ๊ฒ ๊ตฌํํ ์ ์๋ค. (Promise์ async ๊ด๊ณ์ ๋น์ทํ๊ฒ ๋ณด๋ฉด ๋๋ค.) โ โ ์ดํฐ๋ฌ๋ธ ํ๋กํ ์ฝ ๋ฐฉ์ let range = { from: 1, to: 5, [Symbol.iterator]() { return { current: this.from, last: this.to, next() { if (this.current generatorObj.next() -> yield 2 -> ... -> end โ ์ ๋๋ ์ดํฐ์ ์คํ ๊ฒฐ๊ณผ๊ฐ ์ดํฐ๋ ์ด์ดํฐ..