今日のツクールMZスクリプト【12】・条件分岐について
条件分岐(if)の構文を学びます。
if (『条件式』){
『条件を満たした場合に実行される処理』
}
let unko = 1;
if (unko<= 1){
console.log('unko1');
console.log('unko2');
}
として、unkoに1を代入して変数の宣言をします。
条件式はunkoが1以下の場合なので、条件を満たし
文章が表示されるようになります。
試しにunko=2とすると
条件を満たさないため何も出て来ません。
条件式には、比較演算子か真偽値(true/false)を使用します。
中カッコで囲まれた部分は『ブロック』と呼ばれます。
ブロックは複数の構文をひつとにまとめた塊のことを言います。
中カッコ自体はオブジェクトのところで出ましたね。
また、イベントコマンドのように条件を満たさない場合も作ることができます。
if文の中カッコで囲った後に
} else {
『条件を満たさない場合に実行される処理』
}
で満たさない場合の処理もすることができます。
今回はunko=2で条件を満たさないため[not unko]が出てきます。
if文などでブロックにおいて字下げが行われます。
プログラムのほうで勝手にやるので受け入れましょう。
また、JavaScriptの等価演算子では
a===b のように使うのが一般的で
a==b は使わなくていいそうです。
■条件分岐・論理演算子
条件式に論理演算子を使うことでより細かな分岐を行えます。
(a && b) で [aかつb] のとき
(a || b) で [aまたはb] のとき
(!a) で [aの否定] のとき
をあらわします
■条件分岐(条件演算子)
条件演算子(参考演算子)は
分岐処理を一行で済ましてしまうもの。
『条件式』 ? 『条件を満たした場合の式』 :『条件を満たさなかった場合の式』
let aaa = 1;
let bbb =(aaa===1 ? 2 : 3);
console.log(bbb);
の例で見ると
aaaに1を代入して
bbbにif文を代入しています。
if文は条件演算子を使用しており、
aaa===1 ならば 2 そうでないなら 3 を出力します。
条件を満たしているのでbbbをコンソールで確認すると
2と出てきます。
以下は公式から
https://tkool.jp/mz/plugin/javascript/if.html
以下の例は、通常攻撃のダメージ計算式に対して条件演算子による判定を追記したものです。
『b.isStateAffected(5)』という条件式は見慣れない書き方ですが、『攻撃対象がステートID[5]のステートになっていたら』という意味になります。