Webサイト専門プログラマの言いたい放題

元システムエンジニアがサイト制作とプログラミングについて好き放題しゃべります。

【jQueryの変数名 ハイフンの代わりにアンダースコアを使おう】

f:id:wp-lesson:20151012175738j:plain

jQueryの変数名にハイフンを付けると動かない

自分が書いた jQuery などのスクリプトが動かないとき、
よくある原因の1つに変数名のルール違反があります。

プログラム言語の変数名には、命名ルールがあります。
言語によってルールは違いますが、例えば jQuery では
ハイフンは使えません。

理由は、演算子のマイナス記号と区別できないからです。

//ラジオボタンのグループ
//誤
var rad-group;
//正
var rad_group;

プログラミングにおける変数名には、格納するデータの意味が分かるように
英単語や略語の組み合わせを何らかの区切り文字で連結するのが一般的です。

ハイフンは連結文字として直感的に分かりやすいので多用されがちですが、
演算子のマイナス記号と全く同じなので、プログラムを実行するエンジンに
してみれば、どちらの意味で解釈してよいか判断できないわけです。

判断できないプログラムは当然ながら動きません。

解決法

ハイフンの代わりに使うなら、アンダースコア(アンダーバー)が見た目にも
似ているので相応しいと思います。

関連知識

ハイフン以外にも、プログラム言語で一般的に避けたほうが良いルールがあります。

例えば変数名の先頭に数字を使うことです。
途中に数字が登場するのは構いません。

//誤
var 2top;
//正
var to_top;
var toTop;
var back2top;  //トップに戻るという意味で、Back To Top を意味する変数名