javaScript

オブジェクトを作って使ってみる

今までの記事で、ウィンドウを管理するwindowオブジェクトや、HTMLドキュメントを管理するdocumentオブジェクトのメソッドやプロパティを使用してきました。それらのオブジェクトはWebページが表示された時点でプログラムから利用できます。

それに対して、必要に応じてユーザーが自分で生成するタイプのオブジェクトがあります。例を挙げると、ある時点での日付時刻をデータとして管理するDateオブジェクトがあります。現在の日時を管理するDateオブジェクトを生成して、変数nowに代入するには以下のように書きます。

今回新たにnewというキーワードが出てきました。
newは、オブジェクトを生成するときに使用する特別な演算子です。生成されて利用可能な状態になったオブジェクトのことをインスタンスと言います。インスタンスが生成されると、Dateオブジェクトに用意されている色々なメソッドを使うことができます。

今回は、Dateオブジェクトを例に、オブジェクトを生成して利用する方法を書いていきます。

サンプルコードの実行結果はこちら

new演算子とコンストラクタ

利用可能なオブジェクトであるインスタンスを生成するには、new演算子のほかにも、コンストラクタという特別な関数を使用します。インスタンスを生成して、変数に代入するには次のように書きます。

コンストラクタの名前は、オブジェクト名と同じです。先程の場合だと、DateオブジェクトのコンストラクタはDateです。引数なしでDateコンストラクタを呼び出した場合は、その時点での日付時刻のデータを持ったDateオブジェクトのインスタンスが生成されます。

一回インスタンスを生成すると、オブジェクトに用意されているメソッドを使用することができるようになります。

toStringメソッド

DateオブジェクトのtoStringメソッドを使うことで、日時時刻を1つの文字列にすることができます。toStringの戻り値の形式はブラウザに依存します。

日時を指定してDateオブジェクトを生成

サンプルコードのDateオブジェクトのコンスラクタを見ると、引数に年、月、日、時、分、秒の値を指定することで、その日時の日付時刻データを代入するインスタンスを生成することができます。時間は24時間制で指定し、月は1月「0」、2月「1」というように指定する点が通常とは異なっています。

ちなみに時、分、秒を省略すると、午前0時0分0秒とみなします。

toStringメソッドは省略可能

Dateオブジェクトのインスタンスを、そのままdocument.writeメソッドの引数とすると自動的にtoStringメソッドが実行されます。なので、引数として使う場合toStringメソッドを省略して書くことができます。

という具合にです。

-javaScript
-, , , ,