JavaScriptで定数を定義する方法


  1. constキーワードを使用する方法: constキーワードを使用して定数を定義する方法は、一般的な方法です。定数は再代入できないため、値が変更されることはありません。

    const PI = 3.14159;
    console.log(PI); // 結果: 3.14159

    上記の例では、PIという名前の定数を定義しています。定数の値は3.14159であり、再代入することはできません。

  2. Object.freeze()メソッドを使用する方法: Object.freeze()メソッドを使用すると、オブジェクトや配列を変更不可能な状態にすることができます。これにより、定数オブジェクトを作成することができます。

    const colors = Object.freeze(["赤", "青", "黄"]);
    console.log(colors); // 結果: ["赤", "青", "黄"]

    上記の例では、colorsという名前の定数オブジェクトを定義しています。Object.freeze()メソッドにより、colorsオブジェクトは変更不可能な状態になります。

  3. 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で定数を定義するいくつかの方法です。選択する方法は、使用するコンテキストや要件によって異なります。