概要
javascriptの文についてまとめます。
文はまず、式文と宣言文があり、式文は何らかの処理を書くことで作用します。
宣言文は変数や関数を宣言し定義するための文です。
また、実行順序を変更したり制御する為の制御文もあります。
制御文には以下のようなものがあります。
・条件文
if
swich
・ループ文
for
while
・ジャンプ文
break
return
throw
式文
もっとも簡単な文で、変数の代入や、インクリメント、デクリメント、オブジェクトのプロパティ削除のdeleteなども式文として使われます。
複合文
複合文とは文ブロック
{ }
で囲んで記述される文です。
文ブロックは末尾にセミコロンを記述しません。
宣言文
var
function
等の宣言する文が宣言文です。
変数の宣言と関数の宣言を行います。
var
変数を明示的に宣言する文です。
function
関数を明示的に宣言する文です。
javascriptの関数は、次のように宣言する方法
function test() { }
や、次のように関数を変数に代入する式もあります。
var ftest = function test() { } //呼び出す時 ftest();
条件文
指定された式の値に応じて、他の文を実行したり、処理を分岐したりします。
条件文は「if文」や「if else」、「switch文」などあります。
if文
javascriptが条件を判定して、処理を分岐する文です。
if else文
if文と組み合わせて書きます。
これまで何度もサンプルコードを書いてきましたので、詳しい内容は割愛します。
switch文
ある一つの判定要素に対し、条件分岐が多数ある場合に用いる書き方です。
簡単なサンプルを書きます。
var test = 10; swicth(test) { case 1: //処理A break; case 5: //処理B break; case 10: //処理C break; case 15: //処理D break; default: //処理E break; }
上記の場合、変数testの値を判定し、処理Cが実行されます。
処理後のbreakを書かなければ、そのまま次の処理(上記の場合は処理D)が実行されます。
if else文のelseを連続的に書くよりは、この書き方のほうが処理のみとおしが立ちやすくなります。
ループ文 – while
とある条件が真の間、処理を繰り返すループです。
ループ文 – do while
とある条件が真の間、処理を繰り返すループです。
while文との違いは、最初の1回目は条件の真偽に関係なく、必ず実行されます。
ループ文 – for
カウンタ変数を持ち、そのカウンタの条件が真の間は処理を繰り返すループです。
ループ文 – for inf
オブジェクトに対して、オブジェクトのプロパティを巡回する時に書きます。
for (var test in testobject) { console.log(testobject[test]); }
のように書きます。
オブジェクトについて深く理解する必要があるので、オブジェクトとプロパティについては、別途堀さげて書きます。
ジャンプ文
ループの処理中に、条件や状態により、処理をジャンプする場合に書きます。
breakやcontinueを使います。
ラベル文
先頭に識別子を書き、その後にコロンを書き、最後に文を記述します。
testlabel:while(1) { //ループ内の処理 //ラベルを利用して、ループ処理を実行 continue testlabel; }
上記の例はラベル「testlabel」を宣言し、その後のwhileループを割り当てています。
ループ処理内のtestlabelの文が実行されると、ラベルしたwhileが実行されます。
上記のサンプルは極端な例ですが、ラベルの行でジャンプするイメージになります。
break文
ループ処理中に、処理をとめてループを抜ける時に書きます。
continue文
ループ処理中に、continue文より後の処理は実行せず、またループの最初から処理を開始する時に書きます。
一般的には条件文の後に、指定条件の場合にcontinue文を書くケースが多いです。
return文
関数内の処理が完了し、関数を抜けて結果を返す処理として書きます。
throw文
ある例外的な条件やエラーが発生したことを示すシグナルのことです。
次のようにループの処理中に、例外を強制発動することができます。
for (var i=0; i<10; i++) { //例外が発生した場合にスローする throw new Error("Err"); }
try catch finally文
java言語とよく似ていますが、プログラム中の処理を試み、
例外が発生した場合は、処理をcatchし、全ての処理後にfinallyを実行する文です。
with文
実用性は低いですが、オブジェクトが入れ子になっている場合や、
多数のオブジェクトのプロパティに何度もアクセスする場合に使います。
use strict文
ECMAScript5で導入された指示子です。
この指示子が書かれたプログラムは、厳密なコードであることが要求され、
プログラムもまた厳密に書きます。(とは言っても常に正確に記述することは基本です)