Pocket

変数(variable)

変数名の命名規則

JavaScriptの変数の命名規則には次のようなものがあります。

  • 大文字/小文字は区別される。
  • 最初の文字は、半角英字/アンダースコア/ドル記号以外使用できない。
  • 2文字目以降は1文字目に使用できる文字と数字が使用できる。それ以外の記号などは使用できない。
  • JavaScriptの予約語は使用できない。

変数の宣言

文字列を代入する時は、ダブルクォーテーションでもシングルクォーテーションでも変わりはないようです。Google JavaScript Style Guide にはシングルクォーテーションで囲むように書かれているのでそれに従いたいと思います。

値の格納されている変数と同じ変数名を再度宣言した場合、値は保持されたままになります。

変数の型

JavaScriptの変数の型は次の基本の5種類のプリミィテブ型があります。

型名 Type  
文字列型 String var foo = ‘bar’;
数値型 Number var foo = 1000;
論理型 Boolean var foo = true;
Null型 Null var foo = null;
未定義型 Undefined var foo;

変数の型を知るためには、typeof演算子を使用します。

基本の5種類のプリミティブ型以外はオブジェクト型となります。

変数の型変換

JavaScriptは動的型付け言語なので、変数の宣言をするときにデータ型の指定をしません。代入された値に応じて自動的に型が決定します。

また、型が異なる変数同士の演算結果を代入する場合は、JavaScriptのルールに従って型が決定します。次の例はよく見かける変換例です。

変数の参照

オブジェクト型はプリミティブ値を持たず、参照(ポインタ)を持ちます。配列(array)を例に参照渡しの動作を見てみます。

変数のスコープ

プログラム内で変数の参照できる範囲のことを変数のスコープといいます。異なるスコープ間では、同じ変数名を使用してもお互いに影響がありません。JavaScriptの変数はグローバルとローカルの2種類のスコープを持ちます。

グローバル変数

  • 関数外で宣言された変数
  • 関数内でvarで宣言されていない変数
  • プログラム内のどこからでも参照可能

ローカル変数

  • 関数内でvar宣言した変数
  • 宣言した関数内でのみ参照可能

参考サイト

JavaScriptの予約語(MDN)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Reserved_Words
Google JavaScript Style Guide(Use single quotes)
https://google.github.io/styleguide/jsguide.html#features-strings-use-single-quotes
typeof 演算子(MDN)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/typeof
JavaScriptのデータ構造(MDN)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Data_structures