GitBookカスタムOperatorを作るRxJSを使っているとついつい複雑なコードになりがちです。そのようなときには、カスタムOperatorを使ってメンテナンスしやすくリファクタリングする方法を学びましょう。ようなOperatorの実体は、Observableを引数に取りObservableを返す関数です。そのインターフェースに従っていれば、RxJSがビルトインで提供する以外のOperatorを自由に作ることができます。Operatorを実装しています。関数は、すでに存在するOperatorを組み合わせて新しいOperatorを作るためのユーティリティです。Operatorに、数値を5倍にする関数を渡しています。関数は複数のOperatorによる一連の連続的な処理をひとつのOperatorとして束ねることができます。これは通常のオブジェクト指向プログラミングにおけるメソッドのように捉えられます。処理に名前をつけて、新しいひとつのサブルーチンとして再利用可能にするのです。カスタムOperatorによるリファクタリングは、煩雑な処理をモジュール化し、Operatorの意図を明確にし、テストを容易にします。イベントを監視し、ユーザーの入力に合わせて処理をおこなう例です。この例では4つのOperatorを使ってイベントを処理しています。console.log(value);});​このようなケースでは、4つのOperatorが協調することが期待されており、その順番にも重要性があります。メソッドの中で並べただけではその意図は十分に伝わりませんし、最終的にどのような値が購読可能になるのか想像することも困難です。上の例をカスタムOperatorでリファクタリングすると次のようになります。Operatorとして名前をつけることでその内容をカプセル化し、意図が明確になります。モジュールとしてexportすれば、他の場所で利用することもできます。関数を使った独自Operator複数のOperatorをまとめる。