何してきたかのメモ🍣🍣

エンジニアです、最近はPHPやってます。 ジャンル不問の備忘録です。 気になったことをメモ的に書いてます。

【JavaScript】識別子の命名規則まとめ【変数/定数】

 

【JavaScript】変数・定数の命名規則まとめ【識別子】

JavaScript】変数・定数の命名規則まとめ【識別子】

 

JavaScriptの識別子の命名規則についてまとめました。

毎回不安になってググっている気がしたので、自分へのメモもかねて…

 

  • そもそも識別子とは

そもそも識別子とは、要は、スクリプトを構成する要素につけられている名前のこと

変数はもちろん、関数やメソッド、ラベル、クラスなどは、すべてそれがなんであるかを識別するために名前を持っている。

 

その名前は、比較的自由に決めることができるが、それでも最低限の命名規則がある。

 

  1. 1文字目は、英字/アンダースコア(_)/ドル記号($)のいずれか

  2. 2文字目以降は、1文字目で使える文字、もしくは数字のいずれか

  3. 変数名に含まれる英字の大文字/小文字は区別される

  4. JavaScriptで意味を持つ予約語でないこと

 

4番で出てきた「予約語」とは、JavaScriptにおいて、もともと何かしらの機能が定義されているもので、一覧として、以下のものがある。

  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • export
  • extends
  • finally
  • for
  • function
  • if
  • import
  • implements *
  • in
  • instanceof
  • interface *
  • new
  • package *
  • private *
  • protected *
  • public *
  • return
  • super
  • switch
  • this
  • throw
  • try
  • typeof
  • var
  • void
  • while
  • with
  • yield
    (*がつくものはStrictモードのみ)

また、将来的によっやくごとして採用される可能性があるキーワードやJavaScriptですでに定義されていオブジェクトやそのメンバー名などは、使用してもエラーにはならないが、識別子としての使用は避けるべき。

理由としては、識別子として使用することで、もともと定義されていた機能が使えなくなるため。

 

  • より読みやすいコードを書くために(補足)

 

命名規則ではないですが、コードをより読みやすくするためには、以下の点にも気を付ける。

 

  1. 名前からデータの中身が推測しやすい(name、title)
  2. 長すぎず、短すぎず
  3. 見た目が紛らわしくない
  4. 1文字目の「_」は、特別な意味を持つので使わない
  5. あらかじめ決められた書き方で統一する
  6. 基本的には英単語とする

5番目に関しては、以下のようなものがある。

camelCase記法

 └ 先頭単語の頭文字は小文字、それ以降の単語の頭文字は大文字(firstName)

Pascal記法

 └ すべての単語の頭文字は大文字(FirstName)

アンダースコア記法

 └ 単語同士を「_」で連結(first_name)

 

基本的には、変数や、関数名は camelCase記法、定数名は アンダースコア記法

クラス(コンストラクター)名は Pascal記法 を使用します。