変数名の付け方について
JavaScript ではひとつのプログラムの中で複数の変数を使用することができ、それぞれの変数には異なる値を格納することができます。複数の変数を識別するため、それぞれの変数には変数名を付けます。ここでは JavaScript における変数名の付け方について紹介します。
変数名のルール
使用できる文字
変数名には Unicode 文字の他にアンダーバー(_)とドル記号($)のみを使用することができます。
下記のような変数名は定義が可能です。
let number;
let date202302013;
let number_id;
let $sum;文字の区別
変数名は大文字と小文字は区別されるため、下記の変数は全て別の変数として扱われます。
let mynumber;
let MyNumner;
let myNumber;
let MYNUMBER;1文字目の制約
変数名の1文字目に数字をを用いることはできません。
let 20230213date;
//上記変数名は定義不可予約語
JavaScriptの言語仕様としてもとから備わっている単語は予約名として登録されており、変数名として定義することはできません。
下記予約語例
- break
- if
- else
- do
- class
- const
- for
- new
変数名の命名記法
変数名のルールに従っていれば自由に付けることができますが、実際の開発現場では変数名の名前の付け方が統一されているとわかりやすくなります。そこで一般的に使われている変数名や関数名などの命名記法について 2 つご紹介します。
キャメルケース
単語の先頭を大文字にして繋げる表記方法。キャメルケースの中でもローワーキャメルケースとパスカルケースと2種類あります。
let myNumber;
//ローワーキャメルケース
//2つ目以降の単語は先頭の文字を大文字にしてそれ以外は小文字で記述する方法です。
let MyNumber;
//パスカルケース
//すべての単語の先頭文字を大文字にしてそれ以外は小文字で記述する方法です。スネークケース
単語間をアンダースコアで繋げる表記方法。
let my_number;例題
以下の中で命名できる変数名はどれか
- new
- 2024year
- for
- new_id
回答
4. new_id
1. newと3. forは予約語のため×
2. 2024yearは数字から始まるため×
以下の中でスネークケースはどれか
- MyName
- myName
- my-name
- my_name
回答
4. my_name
1. MyNameはパスカルケース
2. myNameはローワーキャメルケース
3. my-nameのようなハイフンで単語を繋ぐのは一般的ではない
エンジニアからのアドバイス
変数名は第三者がみた時にどんなデータが代入されているか想像しやすい命名をすることが大切です。チームとしての命名規則を確認した上で、より分かりやすい表現がないか考えながら命名しましょう。
