# 12.2.1 yield 표현식과 양방향 통신

* 호출자가 제너레이터에 정보를 전달할 수 있음
* 제너레이터는 그 정보에 따라 자신의 동작 방식 자체를 바꿀 수 있음

```javascript
  function* interrogate() {
    const name = yield "What is your name?";
    const color = yield "What is your favorite color?";

    return `${name}'s favorite color is ${color}.`;
  }

  const it = interrogate();
  it.next(); // {value: "What is your name?", done: false}
  it.next('Ethan'); // {value: "What is your favorite color?", done: false}
  it.next('orange'); // {value: "Ethan's favorite color is orange.", done: true}
```

