はじめてのJScript+WSH その5 JScriptのifとfor
はじめに
JScriptのif文とfor文を確認していきます。
if文
if文はif()の括弧の中がtrueかfalseか判断して、trueであれば{}の中の処理を実行します。
var a = 10;
var b = 10;
var str = "";
if(a==b){
str = "同じ"
}else{
str = "違う"
}
WScript.echo(str); => 同じ
論理式
trueかfalseの判断は、下記を組み合わせて使います。
論理 NOT !
より小さい <
より大きい >
より小さいか等しい <=
より大きいか等しい >=
等しい ==
等しくない !=
論理 AND &&
論理 OR ||
※≧を「大なりイコール」、≦を「小なりイコール」、≠を「ノットイコール」と呼びますが、この順に「>=」、「<=」、「!=」と書くと覚えると簡単です。
論理NOTは、trueをfalseへ、falseをtrueへ変換します。
!(true) => false
!(false) => true
論理ANDは、すべてtrueであればtrueになります。
true && true => true
true && true && true => true
true && false => false
true && true && false => false
※「かつ」で覚え、「a==b && a == c」は「a==bかつa==c」ならばtureと考えるとわかりやすいです。
論理ORは、一つでもtrueであればtrueになります。
true || true => true
true || false => true
false || false => false
true || false || false => true
※「または」で覚え、「a==b || a == c」は「a==bまたはa==c」ならばtrueと考えるとわかりやすいです。
複数条件があるif文
複数条件がある場合は下記のように記載可能です。
var a = 10;
var b = 5;
var c = 10;
var str = "";
if(a==b){
str = "aとbが同じ"
}else if(a==c){
str = "aとcが同じ"
}else{
str = "aはbともcとも異なる"
}
if文を1行で記載
最初の例のような簡単なif文は1行で書くことが可能です。
var a = 10;
var b = 5;
var str = "";
( a == b )? str = "同じ" : str = "違う";
WScript.echo(str); // => 違う
下記の書き方も可能です。
str = ( a == b )? "同じ" : "違う";
1行で書いて他メンバーや未来の自分が戸惑う可能性がある場合は使用しない or コメントを残す方が親切だと思います。
for文
for文の書き方は下記のとおりです。
i=0から始めて、i<100がtrueの間処理をし、1ループごとにi++する。
for(i = 0; i < 100; i++){
WScript.echo(i); // => 0 1 2 ... 98 99 と表示
}
※下記のようにvarを入れなくても上記の3行のみで動作します。varを入れても動きます。また、forの後に i の値を出力すると100になります。(varがあってもなくても同じ)
for(var i = 0; i < 100; i++){
WScript.echo(i); // => 0 1 2 ... 98 99 と表示
}
WScript.echo(i); // => 100 と表示
continueとbreak
for文の制御をするために使います。
continue:現ループの処理を停止し、次のループへ行く
break:for文から抜ける(次のループへは行かない
for(var i = 0; i < 100; i++){
if(i % 2 == 1){
continue; // => 奇数なら次のループへ行く
}
if(i == 50){
break; // => 50になったらループを抜ける
}
WScript.echo(i); // => 0 2 4 ... 48 と表示
}
WScript.echo(i); // => 50 と表示
また、上記のif文を1行で書くと下記のように書けます。
for(var i = 0; i < 100; i++){
if(i % 2 == 1) continue;
if(i == 50) break;
WScript.echo(i); // => 0 1 2 ... 48 と表示
}
while文
また、for文の一番最初の例は下記のようなwhile文で記載することも可能です。
var i = 0;
while(i < 100){
WScript.echo(i); // => 0 1 2 ... 99 と表示
i++;
}
var i = 0;
do{
WScript.echo(i); // => 0 1 2 ... 99 と表示
i++;
}while(i < 100)
おわりに
今回も長かったので、覚えきれないと思います。コードを書いていくうちにすぐ慣れる(覚える)部分なので、こういう機能があるんだと覚えてください(特にcontinueとbreakは忘れがちなので覚えておいてください)
余談ですが、if文の書き方は言語によって結構異なります。
・ >= を -ge と記載したり(powershell) ※ge:greater than or equal to
・else if を elsif と記載したり(Ruby)
・else if を elseif と記載したり(php)
・if (a==b) {の行を、if ($a==$b) : という書き方をしたり(php)※phpは変数の前に$がつく
・if (a==b) {の行を、if a==b : という書き方をしたり(python)
・if (a==b) {の行を、if a==b { という書き方をしたり(go)
・if (a==b) {の行を、if(a==b) then という書き方をしたり(vba)
C、C++、C#、Java、JavaScript、TypeScriptはJScriptと同じ書き方です。
次の記事
前の記事
この記事が気に入ったらサポートをしてみませんか?