@If (JavaScript)

条件テストに基づいてステートメントを実行します。

定義場所

@Functions (JavaScript)

構文

@If(condition, statement, ..., ..., else) : any
戻り値 説明
condition n > 0 などの論理値。
statement 実行対象の有効な @関数のステートメント (先行条件が true の場合)。複数のステートメントを実行する場合は、@Do 関数を使用します。
else 実行対象の有効な @関数のステートメント (true となる条件がない場合)。複数のステートメントを実行する場合は、@Do 関数を使用します。
any ステートメントの実行結果。

使用法

condition パラメータと statement パラメータは一緒に指定する必要があります。指定できる数に制限はありません。

指定された条件を順に検証し、true になる条件が見つかるとそれに対応するステートメントが実行され、それ以降の条件テストはすべて無視されます。true になる条件がない場合、else ステートメントが実行されます。

以下の例は、field1 をバインドする編集ボックスの onBlur イベントを示しています。このイベントにより、field1 の摂氏の値が華氏の値に変換されて field2 に設定されます。
var n = @GetNumberField("//field1");
// condition
@If(n != "",
	@Do(
		n = 9 / 5 * n,
		@SetNumberField("//field2", n + 32)),
	// else
	@Do(
		@SetNumberField("//field1", 0),
		@SetNumberField("//field2", 32)));

以下の例は、検証する数字の値により、Positive numberNegative numberZero のいずれかのストリングを返します。

var n = @GetNumberField("//field3");
@Return(
	@If(
		n > 0, "Positive number",
		// else if
		n < 0, "Negative number",
		// else
		"Zero"
	)
);