ECMAScript 2015 に対応した JavaScript では、const キーワードを使用して定数(再代入できない変数)を定義することができます。
const msg = 'Hello';
console.log(msg); //=> 'Hello';
msg = 'World'; //=> TypeError: Assignment to constant variable.
var や let の代わりに const を使用して定義した変数に、別の値を代入しようとするとコンパイルエラーが発生します。
そのため、実質的に「定数」として扱うことができます。
変数を使用するときは、積極的に const を使って定義するようにし、必要な場合のみ let を使用するようにすると、保守性の高いコードを記述できるでしょう。
(注: 下記は ES2015 より前の JavaScript に関する説明です。ES2015 からは、正式に const キーワードを使用することができます)
ECMAScript の規格には、定数を定義するための構文はありません。
JavaScript の独自実装として、定数を定義するための const キーワードが用意されていることがあります。
SpiderMonkey (FireFox) や v8 (Chrome) では const が使用できます。
js> const HOGE = 100;
js> console.log(HOGE);
100
Rhino (jrunscript) では const は使用できません。
$ jrunscript
js> const HOGE = 100;
js> print(HOGE);
undefined
いずれにしても、const は独自拡張なので、使わないほうがよいでしょう。