-
constキーワードを使用する方法: constキーワードを使用して定数を定義する方法は、一般的な方法です。定数は再代入できないため、値が変更されることはありません。
const PI = 3.14159; console.log(PI); // 結果: 3.14159
上記の例では、PIという名前の定数を定義しています。定数の値は3.14159であり、再代入することはできません。
-
Object.freeze()メソッドを使用する方法: Object.freeze()メソッドを使用すると、オブジェクトや配列を変更不可能な状態にすることができます。これにより、定数オブジェクトを作成することができます。
const colors = Object.freeze(["赤", "青", "黄"]); console.log(colors); // 結果: ["赤", "青", "黄"]
上記の例では、colorsという名前の定数オブジェクトを定義しています。Object.freeze()メソッドにより、colorsオブジェクトは変更不可能な状態になります。
-
IIFE(Immediately Invoked Function Expression)を使用する方法: IIFEを使用する方法では、即時関数を定義してその中で定数を定義します。これにより、外部からのアクセスを制限し、定数としての振る舞いを実現できます。
const counter = (function() { let count = 0; return { increment: function() { count++; }, getCount: function() { return count; } }; })(); console.log(counter.getCount()); // 結果: 0 counter.increment(); console.log(counter.getCount()); // 結果: 1
上記の例では、IIFE内でcountという変数を定義し、incrementとgetCountというメソッドを持つオブジェクトを返しています。count変数は外部から直接アクセスできず、内部でのみ操作できる定数として機能します。
これらはJavaScriptで定数を定義するいくつかの方法です。選択する方法は、使用するコンテキストや要件によって異なります。