ReactiveX의 각 언어별 구현에는 Operator(연산자)가 포함된다. 언어별 구현 간에 겹치는 부분이 많지만 특정 언어에서만 구현되는 일부 Operator도 있다. 또한 각 언어별 구현에는 해당 언어의 유사한 메서드의 연산자와 유사하게 Operator의 이름을 지정하는 경향이 있다.
대부분의 연산자는 observable에 연산하고 옵저버블을 반환한다. 이는 연산자를 chaining하여 차례로 적용할 수 있게 해준다. 연산자 체인의 각 연산자는 이전 연산자의 작업 결과인 옵저버블을 수정한다.
특정 클래스의 다양한 메서드가 메서드 연산을 통해 해당 객체를 수정하여 동일한 클래스의 항목에 작동하는 빌더 패턴과 같이 다른 패턴이 있다. 이러한 패턴을 사용하면 유사한 방식으로 메서드를 연결할 수도 있다. 그러나 빌더 패턴에서는 체인에서 연결하는 메서드의 순서는 일반적으로 중요하지 않지만 옵저버블에서 연산자 순서는 중요하다.
옵저버블의 연산자 체인은 처음 체인을 만들어낸 원래 옵저버블에서 독립적으로 연산하지 않는다. 연산자 체인에서 연산자는 바로 앞의 연산자가 생성한 옵저버블에 차례로 연산하게 된다.
이 페이지에서는 먼저 ReactiveX의 “핵심” 연산자로 간주할 수 있는 항목을 기재하고 이러한 연산자의 작동 방식과 특정 언어별 ReactiveX 버전에서 이러한 연산자를 구현한 방법에 대한 자세한 정보가 있는 페이지로 연결한다.
다음은 활용하기에 가장 적합한 연산자를 선택하는 데 도움이 되는 “decision tree”이다.
마지막으로, ReactiveX의 여러 언어별 구현에서 사용할 수 있는 대부분의 연산자가 알파벳 순으로 나열되어 있다. 해당 리스트는 언어별 연산자와 가장 유사한 핵심 연산자를 문서화하는 페이지로 연결되는 링크를 포함하고 있다. (예를 들어, Rx.NET “SelectMany” 연산자는 FlatMap ReactiveX 연산자의 문서에 연결되며 “SelectMany”는 Rx.NET의 구현 내용이다.)
만약 직접 연산자를 구현하고 싶다면 Implementing Your Own Operators를 참고할 것.