識別子とは名前のことです。JavaScriptでは変数や関数の名前を指定するのに識別子を用います。識別子に使える文字は、Unicode文字、アンダースコア、ドル記号のいずれかでなければなりません。また識別子の先頭を数字にすることはできません。またキーワードなど、識別子に使うことができない予約語が存在します。
識別子の例
i str tmp _dummy $value
変数とは、プログラムが使うデータを一時的に保存するための領域に名前をつけたものです。変数につけた名前(識別子)を変数名と呼び、変数に入っているデータを値と呼びます。JavaやCなどの言語と大きく異なる点として、JavaScriptには変数の型という概念がありません。JavaScriptの変数には任意のデータ型の値を代入できます。
変数はvar 変数名として宣言し、変数=値という形で値を代入、変数名で値を参照することができます。変数を含んだ計算も行うことができます。以下の変数bのように宣言せずに変数を用いることもできますが、基本的に変数は宣言して利用するスタイルのほうが好ましいです。varの有無による差は、関数内で変数を利用する際に違いが出てきます。これについてはスコープの項で説明します。JavaScriptでの変数とプロパティには差がなく、オブジェクトを学習すれば、JavaScriptの変数はグローバルオブジェクトのプロパティに過ぎないことが分かります。これについてはオブジェクトの項を参照ください。
ECMAScript第3版でのJavaScriptの予約語は次のとおりです
break | case | catch | continue | default |
delete | do | else | false | finally |
for | function | if | in | instanceof |
new | null | return | switch | this |
throw | true | try | typeof | var |
void | while | with |
ECMA拡張用の予約語は次のとおりです。ただし、as,is,namespace,useの4つはECMAScript第3版には含まれていません。
abstract | as | boolean | byte | char |
class | const | debugger | double | enum |
export | extends | final | float | goto |
implements | import | int | interface | is |
long | namespace | native | package | private |
protected | public | short | static | super |
synchronized | throws | transient | use | volatile |