こんにちわ。今回は前Javascriptの簡単メモの続きです。
↓これは前回のリンクです。
JavaScript#Hello World,String,Function
Contro Flow
では始まりましょう。最初に説明したいのはControl Flowです。Control Flowはなんですか?いわゆるプログラムが色々な条件の基づいて実行するコードを決めるんだ。一番簡単な例は例えばもしボタン押したら→ランプが光る。ボタンが離したら→ランプが消える。これも立派なControl Flowですからね。
If..Else
これは一番簡単な例です。もしアラームがTrueなら、”Alarm!!”を画面に出力します。
逆にアラームがFalseなら、”Normal”を画面に出力します。
if (alarm){ console.log("Alarm!!"); }else{ console.log("Normal"); }
注意したいのはJavacriptの世界はすべての変数にもTrueとFalseがあります。以下の状態だと変数がFalseになります:
- False
- 0、-0
- ””、’’(いわゆるなにも入ってないのString)
- null
- undefined
- NaN(数字ではない)
比較子
比較のシンボルは他の言語とあまり変わりません。
- a>b:aがbより大き
- a>=b:aがbより大きか、同じか
- a<b:aがbより小さいか
- a<=b:aがbより小さか、同じか
- ===:aがbの値が同じ
- !==aがbと値が違う
ロジカル比較
- &&:AND
- ||:OR
- !:ロジック反転
if(a===true && b===true){ console.log("A And B is True"); }
もし変数aと変数bがTrueになると、画面に”A And B is True”を出力します。
switch
1つのプログラムでももし判断条件が2つ、3つくらいしかないのならif..else..ifという文で書けるですがもし25個の判断があればどうになります?もちろんif..else..ifでも書けるですが読むのも大変ですしあまりにも効率ではありません。ここでswitchの登場です。
var option='valve1' switch(option){ case 'pump': console.log('pump'); break; case 'button': console.log('button'); break; case 'lamp': console.log('lamp'); break; case 'valve1': console.log('valve1'); break; default: }
ここで変数optionの値は’valve1’なので、’valve1’が出力されます。
Ternary Operator<三項演算子>
判断する条件?もしTrueであればこれを実行:もしFalseであれあばこれを実行
これはIf..elseの代わりに使えるのコードです。
a?console.log("a"):console.log("not a");
- a?-判断条件が?で表示します。ここで変数がTrueかどうかを判断します。
- console.log(“a”)-もし判断結果がTrueになるとここを実行します。
- :TrueとFalseのとき実行するコード分かる。
- console.log(“not a”)-もし判断結果がFalseになるとここを実行します。
配列
Javascriptに配列が0から始まります。
var variablelist=['Switch1','Switch2','Speed']; console.log(variablelist[0]);
これで配列を定義し、アクセスできます。
console.log(variablelist[0][1]);
Stringでも配列をアクセスするようにCharactersをアクセスできます。
”w”が出力されます。
variablelist[1]='Switch3'; console.log(variablelist[1]);
こうすれば配列の変数を変更できます。
console.log(variablelist.length);
.lengthを使って配列のサイズが求めます。
variablelist.push('Switch4'); ["Switch1", "Switch3", "Speed", "Switch4"]
.push()は新しいElementsが配列の一番後ろに追加できます。
variablelist.pop(); ["Switch1", "Switch3", "Speed"]
.pop()は一番後ろのElementsを削除できます。
このWEBで配列の他のFunctionが見えます↓
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array
ではまた今度ねー