吉里吉里/tjs2解説
条件
最終更新:
tjs2
-
view
条件演算子 ? :
TJSで使える唯一の三項演算子です
TJSで使える唯一の三項演算子です
// ? : を使ってみる
var i;
i = System.inputString("数字の入力", "数字を入力して下さい", "");
i > 5 ? System.inform(i + "は5より大きいです") : System.inform(i + "は5以下です");
?の左に条件を書きます
条件が真ならば? :の間が実行され、偽ならば:の右側が表示されます
条件が真ならば? :の間が実行され、偽ならば:の右側が表示されます
条件演算子 ? : 条件 ? 条件が真の時に実行されるスクリプト : 条件が偽の時に実行されるスクリプト
System.inform(i + "は5より大きいです")の最後には;がついていません
あくまで
i > 5 ? System.inform(i + "は5より大きいです") : System.inform(i + "は5以下です");
が1つのTJS式だからです
? :は3項演算子なのでオペランドが3つないとTJS式として成り立たちません
System.inform(i + "は5より大きいです")に;をつけると
i > 5 ? System.inform(i + "は5より大きいです");
が一つのTJS式として見られることになりますが、? という演算子はないのでエラーとなります
あくまで
i > 5 ? System.inform(i + "は5より大きいです") : System.inform(i + "は5以下です");
が1つのTJS式だからです
? :は3項演算子なのでオペランドが3つないとTJS式として成り立たちません
System.inform(i + "は5より大きいです")に;をつけると
i > 5 ? System.inform(i + "は5より大きいです");
が一つのTJS式として見られることになりますが、? という演算子はないのでエラーとなります
また、条件演算子? :はif,elseで書き換えることも出来ます
// ? : をifを使って書き換えてみる
var i;
i = System.inputString("数字の入力", "数字を入力して下さい", "");
if(i > 5) {
System.inform(i + "は5より大きいです")
} else {
System.inform(i + "は5以下です");
}
これは最初のスクリプトと同じ動作になります