RxJS .zip and .switchLatest

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/4.1.0/rx.all.js"></script>
<button id="message">message</button>
<textarea id='ta_message'></textarea>
<textarea id='ta_result'></textarea>

CSS

textarea {
    font-family:"Courier New", monospace;
    font-size: 12px;
    width: 100%;
    height: 120px;
}

JavaScript

let subjS = new Rx.AsyncSubject();
let stream1$ = subjS.map(x => x);

stream1$.subscribe(
  (val) => { console.log("onNext first observer", val) },
  (err) => { console.log("onError first observer", err) },
  ()    => { console.log("onCompleted first observer") }
);

subjS.onNext("foo");
subjS.onNext("bar");
subjS.onCompleted();
subjS.onCompleted();

stream1$.subscribe(
  (val) => { console.log("onNext second observer", val) },
  (err) => { console.log("onError second observer", err) },
  ()    => { console.log("onCompleted second observer") }
);
subjS.onNext("foo2");
subjS.onNext("bar2");
subjS.onCompleted();
subjS.onCompleted();