Skip to content

変換オペレーター

変換オペレーターは、RxJSのパイプライン内でデータを変形・加工するために使用されます。
値を新しい形に変換することで、リアクティブなデータフローをより柔軟かつ強力に制御できるようになります。

🧩 主な変換オペレーター

カテゴリオペレーター例説明
単純な値の変換map, pluck, mapTo各値を変換または抽出
累積処理scan値を蓄積しながら出力
非同期変換mergeMap, switchMap, concatMap, exhaustMap非同期処理を展開・制御
バッチ処理bufferTime, bufferCount, windowTime一定時間・個数でまとめる

📖 各オペレーターの詳細

  • map - 各値に変換関数を適用
  • scan - 累積的に値を生成
  • pluck - オブジェクトからプロパティを抽出
  • mapTo - 常に固定値を出力
  • mergeMap - 各値をObservableに変換し、並列で結合
  • switchMap - 最新のObservableに切り替え
  • concatMap - 各Observableを順番に実行
  • exhaustMap - 実行中は新しい入力を無視
  • bufferTime - 一定時間ごとに値をまとめる
  • bufferCount - 指定個数ごとにまとめる
  • windowTime - 一定時間ごとにサブObservableに分割

💡 実用的な変換パターン

現実のアプリケーションでは、変換オペレーターを組み合わせることで
次のような処理が可能になります。

  • 入力バリデーションとフィードバック
  • 非同期APIリクエストの最適制御
  • データの整形・集約・正規化
  • イベントストリームのバッチ処理やグループ化

👉 詳しくは:実用的な変換パターン を参照してください。

🧠 ポイントまとめ

  • 単純変換map非同期処理mergeMapswitchMap
  • 順序保証には concatMap重複防止には exhaustMap
  • バッチ処理には bufferTimebufferCount
  • 状況に応じて適切な変換オペレーターを選択し、組み合わせましょう!

Released under the CC-BY-4.0 license.