RxJS ReplaySubject – emitowanie wartości dla nowych obserwatorów

ReplaySubject to świetny wybór gdy potrzebujemy pobrać wartości wyemitowane zanim zarejestrowaliśmy nowego obserwatora. W poniższym przykładzie (który używa Subject) nie ma dostępu do poprzednich wyemitowanych wartości:
const subject = new Subject<boolean>
subject.next(true)
let testValue //testValue = undefined
subject.subscribe((v) => testValue = v) //testValue nadal równa się undefined
subject.next(true) //Dopiero teraz została nadana wartość zmiennej testValue
ReplaySubject rozwiązuje ten problem:
const subject = new ReplaySubject<boolean>(1)
replaySubject.next(true)
let testValue //testValue = undefined
replaySubject.subscribe((v) => testValue = v) //testValue równa się true