JavaScriptの構文
今回はJavaScriptの構文の話をする。
JavaScriptにはif-else
文、switch-case
文、for
文、while
文、do-while
文と、C系列の言語と同等の制御構文を備えている。さらに、Javaでの拡張for
文、C#でのforeach-in
文であるfor-in
文や、ラベルつきのbreak
文、ラベルつきの
continue
文、例外処理機構(try-catch-finally
)を使うこともできる。JavaScriptのコメントは行末コメントとして// ...
、範囲コメントとして/* ... */
が使用できる。
switch
文はfall throughとなっており、C#プログラマは注意が必要である。for-in
文は、配列のすべての要素、またはオブジェクトのすべてのメソッドとプロパティを順に取得できる。形式はJavaの拡張for
文の:(コロン)をin
に、またはC#のforeach-in
文のforeach
をfor
にした形式となる。
ほかにC/C++やJava、C#等の言語にない構文として、with
文がある*1。これは頻繁に使用するオブジェクトのメソッドやプロパティに簡単にアクセスできるようにする。たとえばdocument.write
は引数をそのまま出力できる関数で、よく使用する。
document.write("hoge"
); document.write("piyo"
);
実行してみる
これをwith
を使用して書き直すと次のようになる。
with
(document) { write("hoge"
); write("piyo"
); }
実行してみる
このwith
文の応用するとブロックスコープが実現できる。
*1:Javaのimport
やstatic import
、C++、C#のusing
がこれに近いと言えなくもない?