- はじめに
- 基本情報
- プロセス モデリング
- プロセスの実装
- プロセスの操作
- プロセスの監視
- プロセスの最適化
- 参考情報

Maestro ユーザー ガイド
C# 式から JavaScript 式に移行する
目的
このページは、既存の Maestro プロセスを C# 式から JavaScript 式に移行するのに役立ちます。UiPath では、統一されたスクリプト エクスペリエンス、最新の構文の強調表示機能、および他の Automation Cloud コンポーネントとの幅広い相互運用性を提供するため、Maestro の式言語として C# を非推奨とします。
C# expressions are deprecated. Maestro now shows a deprecation warning on all C# expressions, including the planned removal date.
JavaScript is the default expression language for all new Maestro development.
この変更の意味
- C# 式は、今後のリリースで正式に削除されるまでは引き続き機能し、完全にサポートされます。
- Maestro の新しいプロジェクトと機能では、既定で JavaScript 式が使用されるようになります。
- 新しいバージョンとの互換性を確保するために、既存の式を JavaScript に移行することをお勧めします。
黄色のアラート メッセージが表示される場合、プロジェクトで現在、古い C# 式エディターが使用されていることを意味します。既存の式は引き続き使用できますが、JavaScript への移行を開始することをお勧めします。

主な違いの一覧
| 概念 | C# の構文 | JavaScript の構文 | 備考 |
|---|---|---|---|
| 文字列の連結 | "Hello " + name | "Hello " + name | 両方の言語で同一です。 |
| 大文字/小文字の変換 | userName.ToUpper() | userName.toUpperCase() | メソッド名には小文字の toUpperCase を使用します。 |
| 等値 | amount == 100 | amount === 100 | 厳密等価が必要な場合は === を使用します。 |
| null または空 | string.IsNullOrEmpty(x) | !x OR x === "" | JavaScript では null と undefined は偽値として扱われます。 |
| コレクションの長さ | items.Count | items.length | プロパティ名が異なります。 |
| 条件式 | amount > 5000 ? "High" : "Low" | amount > 5000 ? "High" : "Low" | どちらの言語でも同じ構文です。 |
| 文字列補間 | $"Hello {name}" | `Hello ${name}` | テンプレート リテラルにはバッククォート (`) を使用します。 |
| 現在の日付 | DateTime.Now | new Date() | JavaScript の Date オブジェクトを使用します。 |
| 数学 | Math.Round(x) | Math.round(x) | JavaScript では関数名は小文字です。 |
既存の式を更新する方法
- 影響を受ける各プロパティまたはゲートウェイ条件で式エディターを開きます。
- C# 式をコピーし、JavaScript 構文を使用して変更します (「主な違いの一覧」の表をご覧ください)。
- エディターの [テスト] を使用して、結果を確認します。
- プロセスを保存して再パブリッシュします。
複雑な数式を移行する場合は、変数名を検証し、すべての文字列比較で === を使用するようにします。
移行の例
移行前 (C#): vars.total = items.Sum(x => x.Price); if (vars.total > 10000) vars.priority = "High";
移行後 (JavaScript): vars.total = items.reduce((sum, x) => sum + x.Price, 0); if (vars.total > 10000) vars.priority = "High";
よく使用される同等の式
| 一般的な操作 | C# | JavaScript |
|---|---|---|
| 複数の条件を確認する | (a && b) || c | (a && b) || c |
| 数値を解析する | int.Parse(x) | parseInt(x) |
| 文字列に変換する | value.ToString() | String(value) |
| 小数点以下 2 桁に四捨五入する | Math.Round(x, 2) | Number(x.toFixed(2)) |
| 大文字/小文字を無視して比較する | name.Equals("UIPath", StringComparison.OrdinalIgnoreCase) | name.toLowerCase() === "uipath" |
テストのヒント
- 式エディターの [テスト] ボタンを使用して、出力を確認します。
- null の処理と強制型変換の違い (
===と==) に注意します。 - 文字列と数値は JavaScript で自動的に変換されます。精度が重要な場合は、明示的なキャストを使用します。
次のステップ
- JavaScript で新しい式の記述を開始します。
- このガイドを使用して、既存のプロセスを継続的に更新します。
- Autopilot または手動変換を使用した移行を計画します。
- C# 式の最終的な削除については、今後のリリース ノートをご確認ください。