JavaScriptにおける関数名と変数名の競合

上記の説明から、同じ名前の変数と関数が共存することは、 容易に問題を引き起こす可能性があることがわかります。

次の例では、関数 func が上書きされ、 代わりに文字列 'string' が格納されます:

javascriptfunction func() {
  return '!';
}

func = 'string'; // 関数を持つ変数を文字列で上書き
func(); // funcは関数ではないためエラーが発生する

このような事態を防ぐためには、すべてのプログラミング言語に共通する ルールに従うべきです: 関数は動詞であり、変数は名詞であるべきです。