// RxJS v6+import { defer, of, timer, merge } from'rxjs';import { switchMap } from'rxjs/operators';consts1=of(newDate()); //will capture current date timeconsts2=defer(() =>of(newDate())); //will capture date time at the moment of subscriptionconsole.log(newDate());timer(2000).pipe(switchMap(_ =>merge(s1, s2))).subscribe(console.log);/*OUTPUT => 2019-02-10T12:38:30.000Z (currrent date/time from first console log)2019-02-10T12:38:30.000Z (date/time in s1 console log, captured date/time at the moment of observable creation)2019-02-10T12:38:32.000Z (date/time in s2 console log, captured date/time at the moment of subscription)*//*//NOTE: 'traditional' js equivalent of timer code above is:setTimeout(() => { s1.subscribe(console.log); s2.subscribe(console.log);}, 2000);*/