もうスクリプト言語しか知らない小僧とは言わせない――JavaScriptを知る1分ショートレビュー

「低級言語を扱う小僧め」――バイナリアンたちにこう笑われても涼しい顔でいられるよう、JavaScriptが持つすばらしい言語機能を3つほど紹介しよう。

» 2007年02月02日 08時00分 公開
[鈴木 愛 ,ITmedia]

ここで紹介する記事は、developerWorksの「境界を越える:JavaScriptの言語機能」です。


 JavaScriptというプログラミング言語は一時期、貧弱な開発ツールや、HTMLページ用の文書オブジェクトモデルとして複雑で一貫性に欠けること、ブラウザによって実装が異なることなどが原因で、あざけりの対象となっていたことをご記憶の方も少なくないと思う。事実、JavaScriptをまったく知らなければ、Javaのサブセットや下位バージョンであるかのような印象を持つ方もおられるのではないだろうか。

 だがしかし、JavaScriptの非同期通信を利用した技術にAjaxという名前がつけられたこともあり、この悩ましい言語は現在、Web 開発用に最も広く利用できるスクリプト言語としての地位を確立するに至っている。しかし、Ajaxに最も精通したあるエキスパートはこう挑戦的に言い放つ。「私たちは2011年までに、最新のアプリケーションを開発するための、よりよい機能を備えた言語としてJavaScriptを認識するようになるだろう」

 そして彼は、JavaScriptプログラムは多くの場合、類似のJavaプログラムよりも 10 倍も濃いと主張し、それを実現する言語機能として「高階関数」「動的型付け」「柔軟なオブジェクトモデル」を示すのだが、それらの言語機能を分かりやすく紹介したのが本記事である。

 変数型を扱う場合とまったく同じように容易に、概念的に関数を扱うことができる「高階関数」、ユーザーインタフェースの開発において、意味合いを劇的に変更しても、構文をわずかに変更するだけで、概念を素早く切り替えられる「動的型付け」、独自のオブジェクトを作成せず、アプリケーションを作成する際にプロトタイプを作成する独特の「オブジェクトモデル」。そのいずれもJavaScriptの魅力だが、分かりやすいサンプルコードを用いて簡潔明瞭に説明されている。

 この記事を読んで、JavaScript 言語の強みと弱みを知れば、いつそれを使うべきか、使わずに避けるべきかを、より的確に判断できるようになるだろう。これを知れば、もうスクリプト言語しか知らない小僧とは言わせない。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ