3. 変数とデータ型

JavaScriptのプログラムを記述する方法には何種類かありますが、 ここでは最も推奨されている外部ファイルを使用する方法を使います。 この外部ファイルを使用するためには、XHTMLにおいてscript要素を使用します。

<script type="text/javascript" src="外部ファイルへのURL"></script>

では、サンプルのXHTMLファイル(test.html)とJavaScript外部ファイル(test.js)をまずは作成してみてください。 このWebページでは、ボタンをクリックすると該当の変数の内容を警告ダイアログで表示するものです。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>はじめてのJavaScriptサンプル</title>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
<form action="test.html">
<p>
<input type="button" value="val1の表示" onclick="alert(val1);" /><br />
<input type="button" value="val2の表示" onclick="alert(val2);" /><br />
<input type="button" value="val3の表示" onclick="alert(val3);" /><br />
<input type="button" value="val4の表示" onclick="alert(val4);" />
</p>
</form>
</body>
</html>
var val1 = "JavaScript";
var val2 = 123;
var val3 = true;
var val4 = null;

onclickイベントハンドラ

ある要素がクリックされたり、要素上にマウスカーソルが重なったりなどの動作をイベントと呼びます。 このイベントをキャッチするための指定をイベントハンドラと呼びます。 ここでは、onclickイベントハンドラを使用しています。onclickイベントハンドラは、 指定された要素がクリックされたときに呼びされ、属性値に記述したスクリプトを実行します。

alert()メソッド

JavaScriptには、メソッド関数と呼ばれる一連の処理群をかたまりとして扱う方法が用意されいます。 ここでは、その詳細には触れず、単に警告ダイアログを表示するalert()メソッドの記述方法だけを説明します。

alert(データ又は変数)

alert()メソッドは、警告ダイアログに表示するデータを括弧内に記述します。 この括弧内のデータのことを引数と呼びます。 また、データ以外に変数を記述することもできます。 さらに、説明は先送りにしますが、値を返す関数やメソッドなどを記述することも可能です。

変数

データを入れる容器のことを変数と呼びます。JavaScriptでは、以下の形式で変数を定義します。

var 変数名 = データ

変数名は以下のルールに従ってユーザが自由に命名することができます。

  • 第1文字目は英大文字、英小文字、アンダースコアで始まる。
  • 2文字目以降は英大文字、英子文字、アンダースコア、数字を記述することができる。
  • 英字の大文字と小文字は区別される。
  • 以下の予約語は使用できない。
    abstract    boolean     break       byte            case
    catch       char        class       const           continue
    default     delete      do          double          else
    extends     false       final       finally         float
    for         function    goto        if              implements
    import      in          instanceof  int             interface
    long        native      new         null            package
    private     protected   public      return          short
    static      super       switch      synchronized    this
    throw       throws      transient   true            try
    typeof      var         void        while           with
  • また、以下のような形式で、変数を定義することも可能だ。

    var 変数名

    ただし、この変数定義の場合、変数名を宣言しただけでデータを持っていない未定義変数となるので、 変数を定義した後、どこかでデータを格納する必要がある。

上記のプログラムでは、JavaScrript外部ファイルが変数の定義のみであり、 そこで定義された変数の値を呼び出しているのがXHTMLファイルのalert()メソッドである。

<input type="button" value="val1の表示" onclick="alert(val1);" /><br />
<input type="button" value="val2の表示" onclick="alert(val2);" /><br />
<input type="button" value="val3の表示" onclick="alert(val3);" /><br />
<input type="button" value="val4の表示" onclick="alert(val4);" />

文の区切り

JavaScriptはブロックの集まりとして記述される。 このとき文の区切りには、セミコロン「;」を使用する。 別な見方をすれば、文末にはセミコロンを付加すると覚えておけば良いだろう。 ただし、中にはセミコロンを付けない例外となる文もそんざいするので、 最初はサンプルを模倣して、セミコロンを付ける位置を確認しておこう。

上記のプログラムでは、以下の部分が区切りである

<input type="button" value="val1の表示" onclick="alert(val1);" /><br />
<input type="button" value="val2の表示" onclick="alert(val2);" /><br />
<input type="button" value="val3の表示" onclick="alert(val3);" /><br />
<input type="button" value="val4の表示" onclick="alert(val4);" />
var val1 = "JavaScript";
var val2 = 123;
var val3 = true;
var val4 = null;

データ

JavaScriptで扱うデータ(値)には、以下のような種類があり、それをデータの型と呼んでいる。

文字列

文字列は二重引用符「”」、または単一引用符「’」で囲まれた文字の列である。

"abcd" または 'abcd'

上記のプログラムは以下の部分が文字列になっている。

var val1 = "JavaScript";
var val2 = 123;
var val3 = true;
var val4 = null;

数値

数値には、整数実数(浮動少数点数)がある。ただし、コンピュータの内部ではすべて浮動小数点数として扱われる。 また、整数には、10進数、8進数、16進数が指定でき、浮動少数点数には小数点を使用する方法と指数による方法がある。 これらの詳細については、後述する。

上記のプログラムは以下の部分が数値になっている。

var val1 = "JavaScript";
var val2 = 123;
var val3 = true;
var val4 = null;

論理値

論理値は、真と偽の2値を表すもので、予約語「true」が真、予約語「false」が偽を意味する。

上記のプログラムは以下の部分が論理値になっている。

var val1 = "JavaScript";
var val2 = 123;
var val3 = true;
var val4 = null;

null値

nullは特別な値で、意味としては「空」となる。 ただし、未定義ではない。未定義は変数名だけを宣言し、何も値が入っていない状態である。 一方、nullは、「空」という意味の値が変数に格納されている。

上記のプログラムは以下の部分が論理値になっている。

var val1 = "JavaScript";
var val2 = 123;
var val3 = true;
var val4 = null;

代入演算子

等号「=」を代入演算子と呼ぶ。これは等号の右辺の値を左辺に格納することを意味する。 この代入演算子を使用して、上記の外部プログラム部分を書き直すと次のようになる。 なお、変数定義の所で出てきた等号は代入演算子ではなく初期化演算子と呼ばれるものであり別物である。

var val1;
var val2;
var val3;
var val4

val1 = "JavaScript";
val2 = 123;
val3 = true;
val4 = null;

先頭に戻る


Copyright © 2006 御隠居 (滄洲). All Rights Reserved.