JavaScript 速習チュートリアル

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)

変数は、識別子(アイデンティファイア)と呼ばれるユニークな名前で識別されます。
名前は xy のような短いものから、agesumcarName のような記述的なものまで指定可能です。

名前(識別子)を構築する際のルール:

  • 名前には文字(英字)、数字、アンダースコア、ダラーサインを含めることができます。
  • 名前は必ず文字、$、または _ で始まらなければなりません。
  • 大文字と小文字を区別します(ケースセンシティブ:Xx は別物です)。
  • 予約語(リザーブドワード)(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つの変数 price1price2const キーワードで宣言されています。これらの値は変更できません。
  • 変数 totallet キーワードで宣言されています。この値は変更可能です。

7. 自動的な変数宣言(非推奨)

宣言されていない変数は、最初に使用されたときに自動的に宣言されます。

コード例(非推奨)

x = 5;
y = 6;
z = x + y;

すべての変数はスクリプトの冒頭で明示的に宣言するのが、良いプログラミング習慣です。

8. var による変数の宣言

var キーワードは、2015年以前のすべてのJavaScriptコードで使用されていました。
letconst は2015年(ES6)に追加された新しいキーワードです。

varの使用(非推奨)

var x = 5;
var y = 6;
var z = x + y;

9. var、let、const の使い分けルール

プロフェッショナルな開発においては、以下の優先順位を守ってください。

  1. 変数は必ず宣言する。
  2. 値が変更されない場合は、常に const を使用する。
  3. タイプ(型)が変更されるべきでない場合(配列/アレイやオブジェクト)も、常に const を使用する。
  4. const が使用できない場合(値が再代入される場合)のみ、let を使用する。
  5. letconst が使える環境では、決して 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が先に計算される)