JavaScriptの標準仕様としてビルトインされている主なオブジェクトの使い方を紹介する連載。初回はビルトインオブジェクトやプロパティ、メソッドの基本について。
本連載では、「JavaScriptは、初めて」という女性SEとベテランプログラマーによるペアプログラミング形式で「JavaScriptによるWebアプリケーションの作成」について解説していきます。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍『JavaScript Web開発パーフェクトマスター(2015年6月27日発行)』からの抜粋です。
ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
JavaScriptの実行環境にあらかじめ組み込まれているオブジェクトのことを「ビルトインオブジェクト」と呼びます。JavaScriptでは、特定の処理を行うための変数や関数(メソッド)をまとめ、これに名前を付けて管理できるようになっています。JavaやC#などの言語では「クラス」と呼ばれますが、JavaScriptでは「オブジェクト」と呼んでいます。
ビルトインオブジェクトは、目的別に様々な機能を持つものが用意されていますので、もし、ビルトインオブジェクトの中に使いたい機能があれば、これを利用することで、自分でコードを書くよりもはるかに簡単に処理を行うことができます。
JavaScriptには、基本的な機能を提供するためのオブジェクトが組み込まれています。これらのオブジェクトを総称して「ビルトインオブジェクト」と呼ぶのですが、組み込みのオブジェクトなので、オブジェクト名を指定すればすぐに呼び出して利用することができます。
JavaScriptの組み込みのオブジェクトであるビルトインオブジェクトは、JavaScriptの標準化を規定するECMAScriptにおいて、JavaScriptの標準仕様として規定されています。このため、JavaScriptを実行できる環境であれば利用することができます。もちろん、主要なブラウザーはすべてJavaScriptをサポートしているので、ビルトインオブジェクトを利用するにあたって事前に何の用意も必要ありません。
なお、JavaScriptが実行できる環境であれば、ビルトインオブジェクトのほかにも次のようなオブジェクトがあります。
Webブラウザーオブジェクト、DOMオブジェクトは、各ブラウザーが独自に用意するオブジェクトですが、ほとんどの機能が共通化されていますので、ビルトインオブジェクトを含むこれら3つのオブジェクトは「JavaScriptの標準機能」と考えてよいでしょう。本項では、ビルトインオブジェクトについて見ていきます。
JavaScriptには、組み込みのオブジェクトとしてビルトインオブジェクト、Webブラウザーオブジェクト、DOMオブジェクトの3つがあります。ここで扱うのは、ECMAScriptにおいてJavaScriptの標準仕様として規定されているビルトインオブジェクトです。
「オブジェクト? クラスとどう違うの?」
JavaScriptでは、ほかのオブジェクト指向言語のクラスに相当するものをオブジェクトと呼びます。これがどういうことを意味するのかを考えていきます。
「JavaScriptには、組み込みの機能としてビルトインオブジェクト、ブラウザーオブジェクト、DOMオブジェクトの3つがあります。今回はJavaScriptの標準仕様として定められているビルトインオブジェクトを使っていきます」
「ところで同じ組み込みなのに何で3つに分かれているんです?」
「ビルトインオブジェクトはECMAScriptで規定された標準仕様のオブジェクト、つまりJavaScriptの核となるものです。で、ブラウザーオブジェクトは、各ブラウザーが独自に搭載しているオブジェクトです。各ブラウザーごとに仕様が一部異なる部分もありますが、基本的な部分はほぼ同じです。DOMオブジェクトについては、W3CというWeb技術の標準化団体の勧告に基づいて各ブラウザーが備えています」
「結局はJavaScriptの実行環境としてブラウザーに用意されてはいるものの、オブジェクトが何に基づいて用意されたのかによって分けられているわけですね」
「ところでオブジェクトって何のことだかわかりますか?」
「えっ? オブジェクトって...何かの機能を提供するから関数とかですかね」
「オブジェクトには、データを扱うためのプロパティとメソッドが含まれています。JavaやC++、C#などの言語では、これを『クラス』って呼んでますよね。プロパティやメソッドをまとめておいたもの、つまり他の言語のクラスに相当するものをJavaScriptではオブジェクトと呼んでいるのです」
「ある特定の用途に使うメソッドやプロパティをまとめたものってわけですね。Javaなどの言語の実行環境には、組み込みのクラスを収録した『標準ライブラリ』が用意されていてこれを使うわけですが、これに相当するのがビルトインオブジェクトなのですね」
「そうです。ただし、JavaScriptには『ライブラリ』という考え方はないので、たんに『組み込みのオブジェクト』つまり『ビルトインオブジェクト』と呼んでいるわけです。これはブラウザーオブジェクトもDOMオブジェクトも同様の考え方です」
「ってことは、本来、オブジェクトを定義するソースファイル、あるいはコンパイル済みのファイルをライブラリとしてまとめておいたものを実行環境と一緒にインストールするわけですが、JavaScriptでは実行環境の一部として組み込み済みであると、こう解釈すればよろしいですね」
「そのとおりです。実行環境の一部として考えてもらえればいいです」
Copyright © ITmedia, Inc. All Rights Reserved.