What are the semantics of different RxJS subjects?
Documentation for the topic is sparse and it's hard to discover an "entry-point" there. user3743222 Semantics differ according to the type of subjects. I will divide them in two kinds : vanilla ( Rx.Subject ), and special-purpose subjects (the other three). The special-purpose subjects share part of the semantics of the vanilla subject with a few caveats due to their specialization (for instance, completion/reconnection behaviour). Vanilla Rx.Subject semantics Key features subjects implement the observer, observable interface (and the disposable interface as they have a dispose handler on