5.5.8RxJSの基礎となるのはObservableです。オペレータはObservableを操作するのにとても役立ちます。複雑な非同期の処理を、わかりやすいコードで組み立てられるのです。公式「Manual」の「Operators」を下じきに、サンプルコードや解説は改めました。オペレータとはオペレータはObservableオブジェクトのメソッドです。map()やfilter()あるいはmerge()などが備わっています。オペレータを呼び出しても参照したインスタンスは変えません。Subscriptionの定めを受け継いだ新たなObservableが返されるのです。オペレータは、もとのObservableはそのままに、新たなObservableをつくる純粋な関数といえます。オペレータは、基本的にひとつのObservableを入力として受け取り、もうひとつの新たなObservableをつくって返す関数です。出力Observableをサブスクライブすると、入力Observableもサブスクライブされます。つぎのコードで定めたカスタムオペレータ関数は、入力Observableから受け取る値をそれぞれ2乗します。出力オブジェクトに対してObservable.subscribe()メソッドを呼び出したとき、入力Observableもサブスクライブされることにご注目ください(後述のとおりObservable.subscribe()は静的オペレータです)。これを「オペレータサブスクリプションチェーン」と呼びます。インスタンスオペレータと静的オペレータオペレータを参照するとき、多くの場合はObservableインスタンスのメソッドを考えます。前掲コードのカスタムオペレータ関数(square())が、RxJSのインスタンスオペレータに組み込まれていたとしたら、以下のような実装になるでしょう。インスタンスオペレータは、this参照を入力Observableとして扱う関数です。オペレータの引数に入力Observableは渡しません。参照するオブジェクトを入力とみなすのがインスタンスオペレータです。コンソール出力14916*/インスタンスオペレータのほかに、Observableクラスに直接定められた関数である静的オペレータがあります。静的オペレータはthis参照をもちません。引数にもとづいて、新たなObservableを返します。Observableインスタンスを新しくつくりたいときに用いられることが多いでしょう。使われる静的オペレータは、生成オペレータです。入力Observableから出力Observableに変換するのではなく、引数に数値のようなObservableでない値を受け取って、新しくObservableをつくります。静的オペレータの典型として挙げられるのはinterval()です。引数はObservableでなく数値で、新しくObservableをつくって出力として返します。コンソール出力01*/静的生成オペレータのもうひとつの例としては、すでにこれまでもたびたび使ってきたObservable.create()があります。Operators」をご覧ください。インスタンスをただつくるだけではない静的オペレータもあります。Operators」参照)。これらは、複数の入力Observableを引数に受け取るために、静的オペレータとされたのです。Observable.merge()メソッドは、引数のふたつの入力Observableがひとつにまとめられた出力Observableをつくって返します。つぎのコードでは、observable2から送られる値のふたつおきに、observable1の値が送り出されています。take()メソッドはObservableから送られる値の数を引数値に止めます。マーブルダイヤグラムオペレータの働きを、文章だけで説明しようとするとかぎりがあります。オペレータの多くは時間に関わり、sample()やthrottle()あるいはdebounce()など異なったやり方で値を送ります。それらは、図で説明するとわかりやすくなることが少なくありません。Diagram)は、オペレータの働きを図で示したものです。その中には、入力Observableやオペレータとその引数、さらに出力Observableが含まれます。つぎ図001が、マーブルダイヤグラムの例です。時間は左から右に流れ、マーブルで示された値がObservableの実行によりどのように送られるのかを表しています。RxJS公式ドキュメントでは、マーブルダイヤグラムでオペレータの仕組みを説明しています。operator」では、リスト(英語)から求める項目を選んでゆくと適切なオペレータが示されます。オペレータの分類RxJSには、さまざまな目的のオペレータがあります。それらを分類したのが以下のリストです。operators」にリンクされており、それぞれの分類のオペレータが一覧でみられます。