変数宣言として、const、let、var があります。
それぞれの変数宣言の違いについてみていきましょう。
const
const は 再代入できない変数の宣言に使います。
再代入をする必要のない場合は const を使用します。
使い方
const 変数名 = 初期値;
例
const constTest0 = "constについて勉強中";
カンマ区切りで同時に複数の定義が可能。
const constTest1 = "constは",
constTest2 = "再代入はできない";
こちらと同義です。
const constTest1 = "constは";
const constTest2 = "再代入はできない";
constは再代入はできません。以下はエラーが発生します。
const constTest3 = "constで再代入を試してみよう";
constTest3 = "再代入するとエラーが発生します";
let
let は 値の再代入が可能な変数を宣言が可能です。
使い方は const とほとんど同じです。
使い方
let letTest1 = "let変数の使い方";
const とは異なり、初期値を指定しない変数も定義可能です。
デフォルト値として undefined という未定義を表す値で初期化されます。
let letTest2; // `undefined`という値になる
再代入が可能です。
let letTest3;
letTest3 = "再代入してみた";
何度でも再代入が可能です。
let letCount = 0;
letCount = 1;
letCount = 2;
letCount = 3;
var
var は 値の再代入が可能な変数宣言が可能です。。
使い方は let とほとんど同じです。
使い方
var varTest1 = "letとほとんど同じ";
初期値のない宣言も可能で、再代入もできます。
var varTest2;
varTest2 = "再代入を試してみる";
varTest2 = "エラーなく再代入ができます"
var の問題点
・var は同じ名前の変数を再定義が可能です。
→ 値は上書きしてしまいます。
var varTest = "varTestという変数を定義しました";
var varTest = "同じvarTestの名前でも定義できます";
・let や const では 同じ名前の変数を再定義するとエラーがおきます。
let letTest = "letTestという変数の定義";
let letTest = "同じ名前のletTestを定義をするとエラーが発生";
var は const や let に置き換えが可能ですので、
できるだけ var を利用するのは避けた方が良いでしょう。
変数名に使える名前のルール
変数名の名前には、ルールが存在します。
- 半角のアルファベット、_(アンダースコア)、$(ダラー)、数字を組み合わせた名前にする
- 変数名は数字から開始できない
- 予約語と被る名前は利用できない
ひらがなや一部の漢字も、変数名に利用可能ですが
全角の文字列が混在すると環境によって扱いにくいこともあります。
ですので、基本は使いません。
var $; // OK
var _underbar; // OK
var abcde; // OK
var ABCDE; // OK
var hai2020; // OK
var 日本語; // OK
NG例
var 2020hai; // NG: 数字から始めることはできない
var 12345; // NG: 数字から始めることはできない
var let; // NG: `let`は予約語のため利用できない
var if; // NG: `if`は予約語のため利用できない
const は 定数ではない
const は 再代入ができない変数を定義する変数宣言です。
必ずしも定数を定義するわけではありません。
以下は、実質的な定数になります。
const NUMBER = 5;
オブジェクトなども const 宣言が使用できます。
以下は初期化した後でも変更が可能です。
const object = {
memo: "メモ111"
};
object.memo = "メモ222"; // 変更ができてしまう
常に const で宣言した変数が同じ値とは限りませんので、
const は定数とは呼べません。
const は再代入ができない変数を定義するものと覚えておきましょう。
以上、JavaScriptの基本文法の変数と宣言でした。
JavaScriptライフを楽しみましょう。
コメント