第8回 エディターが学ぶ初めてのプログラミング(JavaScript編 命名規則)

麦茶にメイプルシロップを入れて飲むのが最近のプチ贅沢。エディターの若栁です。
ほんのりと上品な甘さになるので、一度お試しください。

エディターが学ぶ初めてのプログラミング第8回は、JavaScriptの変数の書き方を調べてみました。

英語は「人名や国名の最初は大文字」「曜日の単語は最初が大文字」「theを最初につける場合は〜」などのルールがあります。
プログラミングも言語ごとに「命名規則」という名前をつけるときルールがあるので、今回はJavaScriptの変数の命名規則を調べていきます。

JavaScriptの変数で使える文字・記号

  • 文字:Unicode文字(※)
  • 記号:ドル($)とアンダースコア(_)

Unicode文字(ゆにこーどもじ)とは※ 世界で使われている全ての文字を、共通の文字集合体で使えるようにしよう!と定められた、文字コードの業界規格のこと。一覧はこちら。(Wikipediaより)
Unicodeには日本語も含まれているので、日本語の変数も使えます。

こういうコードも成立するのですが、変数名だけ日本語にすると、入力する時に面倒だったり、漢字の変換ミスも出てきます。
コードの中から情報を探しやすい、というメリットもありそうですが、個人的には積極的に日本語を使うことはなさそうです。

以下、注意点を2つほど。

注意点1:名前の1文字目に、数字は使えません

注意点2:ハイフン(-)は使えません

第6回に出てきた演算子としての役割を持っているからです。

注意点3:予約語は使えません

もともとJavaScriptで、関数やメソッドとして使用用途が決められている言葉(予約語)は、変数には使えません。
今までのブログで出てきたところで言うと、ifやfor、do、elseなどなど。一覧はこちらを参考にしてください。

 

JavaScriptで大文字小文字は区別されるか

JavaScriptでは、アルファベットの大文字小文字は区別されます。

この3つの変数は、それぞれ別のものとして区別されます。

関数やメソッドも同様で、大文字小文字を区別するので、1字違うだけで動作しません。今までのスロットゲームから例にあげると、次のようになります。

書き方の種類

名前をつける時の書き方もいくつかあって、そのうちの一つがキャメルケースです(リンク先:Wikipedia)。ひとかたまりの変数や関数の中に、大文字小文字が混在している様子がラクダ(=キャメル)のように見えるところから命名されたそうです。さらにこのキャメルケースにも2パターンあって、

  • アッパーキャメルケース(Upper Camel Case)繋げた単語の先頭全てが大文字
  • ローワーキャメルケース(lower Camel Case)繋げた単語の先頭だけは小文字、それ以外は大文字

「JavaScript」という言語名の書き方は、Upper Camel Case。
addEventListenerやgetElementByIdの書き方は、lower Camel Caseです。

このルールが理解できている今なら、スロットゲームで使った「timerID」という変数名はつけません。
「timerId」か「TimerId」の、どちらかを使います。

その他、スネークケース(xxx_xxx_xxxのように、アンダースコアで繋ぐ書き方)や、チェインケース(xxx-xxx-xxxのように、ハイフンで繋ぐ書き方)もあります。JavaScriptは最初の部分でも書いたようにハイフンは使えないので、自然と、キャメルケースかスネークケースでの書き方になります。参考サイトに記載した、Google JavaScript Style Guideでは

  • クラス名はアッパーキャメルケース
  • メソッド名はローワーキャメルケース

のように定義されています。

以上、今回はJavaScriptの変数の命名規則について調べてみました。

参考サイト