JavaScript の変数
1. 変数 = データのコンテナ
JavaScriptの変数(バリアブル)は、データを格納するためのコンテナです。
JavaScriptでは、以下の4つの方法で変数を宣言(デクレア)できます。
モダンJavaScript(推奨)
letを使用するconstを使用する
古いJavaScript(非推奨)
varを使用する- 自動的に宣言される(キーワードなし)
1.1 let を使用した例
let x = 5;
let y = 6;
let z = x + y;1.2 const を使用した例
const x = 5;
const y = 6;
const z = x + y;- x は値 5 を保持(格納)しています。
- y は値 6 を保持(格納)しています。
- z は値 11 を保持(格納)しています。
変数はデータ値に対するラベルであり、データを保存するためのコンテナです。
2. JavaScriptの識別子 (Identifiers)
変数は、識別子(アイデンティファイア)と呼ばれるユニークな名前で識別されます。
名前は x や y のような短いものから、age、sum、carName のような記述的なものまで指定可能です。
名前(識別子)を構築する際のルール:
- 名前には文字(英字)、数字、アンダースコア、ダラーサインを含めることができます。
- 名前は必ず文字、
$、または_で始まらなければなりません。 - 大文字と小文字を区別します(ケースセンシティブ:
Xとxは別物です)。 - 予約語(リザーブドワード)(JavaScriptのキーワードなど)は名前に使用できません。
- 数字を名前の先頭に使うことはできません。これにより、JavaScriptは識別子と数値を容易に区別できます。
3. JavaScriptのアンダースコア (_)
JavaScriptではアンダースコアを文字として扱います。
そのため、_ を含む識別子は有効な変数名です。
コード例
let _lastName = "Johnson";
let _x = 2;
let _100 = 5;4. JavaScriptのダラーサイン ($)
JavaScriptではダラーサインも文字として扱われます。$ を含む識別子も有効な変数名です。
コード例
let $ = "ハロー・ワールド";
let $$$ = 2;
let $myMoney = 5;JavaScriptにおいて $ を多用することは一般的ではありませんが、プロのプログラマーはJavaScriptライブラリにおける主要なファンクションのエイリアス(別名)として頻繁に使用します。
5. JavaScript変数の宣言
JavaScriptで変数を作成することを、変数を宣言(デクレア)すると呼びます。
通常、let キーワードまたは const キーワードを使用して宣言します。
5.1 let による変数の宣言
let carName;宣言直後、この変数には値が入っていません(技術的には undefined となります)。
変数に値を代入(アサイン)するには、イコール記号を使用します。
carName = "Volvo";ほとんどの場合、宣言と同時に値を代入します。
コード例
// carNameという名前の変数を作成し、値 "Volvo" を代入する
let carName = "Volvo";5.2 const による変数の宣言
値が変更されるべきでない場合は、常に const を使用します。
const carName = "Volvo";6. 複合的な使用例
const price1 = 5;
const price2 = 6;
let total = price1 + price2;- 2つの変数
price1とprice2はconstキーワードで宣言されています。これらの値は変更できません。 - 変数
totalはletキーワードで宣言されています。この値は変更可能です。
7. 自動的な変数宣言(非推奨)
宣言されていない変数は、最初に使用されたときに自動的に宣言されます。
コード例(非推奨)
x = 5;
y = 6;
z = x + y;すべての変数はスクリプトの冒頭で明示的に宣言するのが、良いプログラミング習慣です。
8. var による変数の宣言
var キーワードは、2015年以前のすべてのJavaScriptコードで使用されていました。let と const は2015年(ES6)に追加された新しいキーワードです。
varの使用(非推奨)
var x = 5;
var y = 6;
var z = x + y;9. var、let、const の使い分けルール
プロフェッショナルな開発においては、以下の優先順位を守ってください。
- 変数は必ず宣言する。
- 値が変更されない場合は、常に
constを使用する。 - タイプ(型)が変更されるべきでない場合(配列/アレイやオブジェクト)も、常に
constを使用する。 constが使用できない場合(値が再代入される場合)のみ、letを使用する。letやconstが使える環境では、決してvarを使用しない。
10. JavaScriptのデータ型
JavaScriptの変数には8つのデータ型を保持できますが、まずは数値(ナンバー)と文字列(ストリング)について考えましょう。
- ストリングは引用符(クォーテーション)の中に書かれたテキストです。
- ナンバーは引用符なしで書かれた数値です。
数値を引用符で囲むと、それはテキスト(ストリング)として扱われます。
コード例
const pi = 3.14;
let person = "John Doe";
let answer = 'はい、そうです!';11. 1つのステートメントで複数の変数を宣言する
1つのステートメントで複数の変数を宣言できます。
キーワード(let または const)で開始し、変数をカンマで区切ります。
コード例
let person = "John Doe", carName = "Volvo", price = 200;また、宣言を複数行にまたがって記述することも可能です。
コード例
let person = "John Doe",
carName = "Volvo",
price = 200;12. 代入演算子の性質
JavaScriptにおいて、イコール記号(=)は「代入(アサインメント)演算子」であり、「等しい」ことを示す演算子ではありません。
これは代数学とは異なります。代数学では以下の式は成立しません:x = x + 5
しかしJavaScriptでは、これは「x + 5 の値を x に代入する」という意味になり、完全に正解です。(x + 5 の値を計算し、その結果を x に格納します。つまり x の値が 5 加算されます。)
※JavaScriptで「等しい」ことを示す演算子は == と記述します。
13. JavaScriptの算術演算
代数学と同様に、= や + などの演算子を使用して、JavaScriptの変数で算術演算を行うことができます。
数値の計算例
let x = 5 + 2 + 3;文字列を「加算」することもできますが、その場合は文字列が連結(コンカティネート)されます。
文字列の連結例
let x = "John" + " " + "Doe";数値を引用符で囲むと、それ以降の数値も文字列として扱われ、連結されます。
例1:
let x = "5" + 2 + 3; // 結果は "523"例2:
let x = 2 + 3 + "5"; // 結果は "55" (2+3が先に計算される)