InDesign CS3自動化作戦 (InDesign CS3 Automation Operation)

条件判断を行う

■プログラム説明(ソースコード説明)
 サンプルでは変数n1とn2に入っている値を比較してメッセージを表示します。最初の条件判断では値が同じ場合にはメッセージを表示しますが、そうでない場合は何も表示しません。次に条件判断では変数n1の値が20未満の場合には「20未満です」と表示し、そうでない場合はelse以後の命令が実行され「20以上です」と表示されます。
 if命令は以下の書式になります。

if (条件) {
 条件を満たした時の処理
}

 条件を満たさなかった場合に処理するにはelseを使います。

if (条件) {
 条件を満たした時の処理
}else{
 条件を満たさなかった場合の処理
}

 elseの後にもifで条件判断を行うことができます。

if (条件1) {
 条件1を満たした時の処理
}else if (条件2) {
 条件1を満たさないが、条件2を満たした時の処理
}

 より複雑な条件判断を行う場合は次項を参照してください。

■ソースコード
n1 = 12;
n2 = 34;
if (n1 == n2)
{
alert("同じ値です");
}
if (n1 < n2)
{
alert("n1の方が小さい");
}
if (n1 > n2)
{
alert("n2の方が小さい");
}

■ポイント
 ifで記述できる条件(数値の場合)には以下のものがあります。

値1と値2が等しい if (値1 == 値2)
値1と値2が等しくない if (値1 != 値2)
値1が値2より小さい if (値1 < 値2)
値1が値2より大きい if (値1 > 値2)
値1が値2より等しいか小さい if (値1 <= 値2)
値1が値2より等しいか大きい if (値1 >= 値2)

 文字列同士の比較もできます。

文字列1と文字列2が等しい if (文字列1 == 文字列2)
文字列1と文字列2が型も等しい if (文字列1 === 文字列2)
文字列1と文字列2が等しくない if (文字列1 != 文字列2)

 変数の型も一致しているかどうかは===を使います。以下のサンプルでは==では同じと表示されますが、===では型が違うと表示されます。

n1 = 12;
n2 = "12";
if (n1 == n2)
{
alert("同じ値です");
}
if (n1 === n2)
{
alert("型も値も同じです");
}else{
alert("型が違います");
}

■実際のスクリプトをダウンロード(sample.jsx.zip)

写真素材 PIXTA