JavaScriptの変数について詳しく解説!

JavaScript

JavaScriptの変数

変数とは、変化しうるものという意味です。JavaScriptでは、変数は後で変更可能なデータ値を保存します。

JavaScriptで変数を宣言するには、予約キーワードvarを使用します。

var 変数名;

var 変数名 = 値;

変数には一意な名前を付ける必要があります。以下は変数を宣言しています。

var msg; // 値なしでの変数定義

上記の、var msg;は変数宣言です。まだ何の値も持っていません。値を持たない変数のデフォルト値はundefinedです。

変数に値を代入するには、宣言時または宣言後、アクセスする前に=演算子を使用します。

var msg; 
msg = "Hello JavaScript!"; // assigned a string value
alert(msg); // access a variable

//the following declares and assign a numeric value
var num = 100; 
var hundred = num;  // assigned a variable to varible

上の例では、まず変数 msg を宣言し、次のステートメントで文字列の値を代入しています。

num 変数は、同じステートメントで宣言され、数値で初期化されています。最後に、hundred 変数が宣言され、他の変数の値で初期化されています。

上の例では、まず変数 msg を宣言し、次のステートメントで文字列の値を代入しています。num 変数は、同じステートメントで宣言され、数値で初期化されています。最後に、hundred 変数が宣言され、他の変数の値で初期化されています。

複数変数の宣言

複数の変数をカンマで区切って1行で宣言することも可能です。

var one = 1, two = 'two', three;

変数宣言のホワイトスペースと改行について

JavaScriptでは、varキーワードで変数を宣言すると、複数の空白文字や改行が許されます。

var
         one
      =

         1,
            two
        =
            "two"

最後のセミコロン ; は任意であることに注意してください。

緩やかな型付けの変数

C#やJavaでは、変数が強く型付けされています。これは、変数が格納するデータの種類を指定するデータ型を宣言しなければならないことを意味します。

JavaScriptは緩やかな型付け言語です。つまり、データ型の宣言を必要としない。文字列、整数、浮動小数点数、ブール値など、任意のリテラル値を変数に代入することができます。

var myvariable = 1;  // numeric value

myvariable = 'one'; // string value

myvariable = 1.1; // decimal value

myvariable = true; // Boolean value

myvariable = null; // null value

変数のスコープ

JavaScriptでは、変数はグローバルスコープとローカルスコープのいずれかで宣言することができます。

グローバル変数

関数の外で宣言された変数をグローバル変数と呼びます。グローバル変数は、JavaScript のコード内のどこにでも、たとえ関数の中であってもアクセスすることができます。

ローカル変数

関数の内部で宣言された変数を、その関数のローカル変数と呼びます。これらは宣言された関数の中でのみアクセス可能で、外からはアクセスできません。

次の例は、グローバル変数とローカル変数を含んでいます。

var greet = "Hello " // global variable

function myfunction(){
    var msg = "JavaScript!"; 
    alert(greet + msg); //can access global and local variable
}

myfunction();
		
alert(greet);//can access global variable
alert(msg); //error: can't access local variable

varキーワードを使わない変数の宣言

変数は、var キーワードを使わずに宣言し、初期化することができます。ただし、var キーワードを使わずに宣言した変数には値を代入する必要があります。

var キーワードを使わずに宣言された変数は、宣言された場所に関係なくグローバル変数になります。詳しくは、JavaScriptの変数スコープをご覧ください。

既存のグローバル変数を誤って上書きしてしまう可能性があるため、varキーワードを使わずに変数を宣言することは推奨されません。

function myfunction(){
    msg = "Hello JavaScript!"; 
}
myfunction();
alert(msg); // msg becomes global variable so can be accessed here

JavaScriptの変数名

  • JavaScriptでは変数名の大文字と小文字は区別されます。ですから、変数名 msg, MSG, Msg, mSg は別々の変数とみなされます。
  • 変数名には、文字、数字、記号 $ と _ を使用できます。
  • 変数名は0-9の数字で始めることはできません。
  • 変数名には、JavaScriptの予約キーワードを使用できません。例えば、var, function, returnは変数名にはできません。

留意すべき点は以下の通りです。

  1. 変数には、後で変更可能なデータ値が格納されます。
  2. 変数は、var キーワードを使って定義します。var キーワードを使わずに定義された変数は、グローバル変数になります。
  3. 変数にアクセスする前に、変数を初期化する必要があります。
  4. JavaScript では、変数宣言の中で複数の空白や改行を使用することができます。
  5. 1行に複数の変数をカンマで区切って定義することができます。
  6. JavaScript は緩やかな型付け言語なので、変数には任意の型の値を格納することができます。
  7. 変数名は大文字と小文字を区別します。
  8. 変数名には、文字、数字、記号 $ と _ を使用できます。0〜9の数字で始めることはできません。
  9. 変数にはローカルスコープとグローバルスコープがあります。ローカル変数は宣言された関数の外からはアクセスできませんが、グローバル変数はどこからでもアクセスできます。

タイトルとURLをコピーしました