【Node.js24.x】Object::freeze()メソッドの使い方
freezeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
freezeメソッドは、指定されたオブジェクトを凍結し、変更不可能にするメソッドです。このメソッドが実行されると、対象のオブジェクトは「凍結状態」となり、それ以降、新たなプロパティを追加したり、既存のプロパティを削除したり、その値を変更したりすることが一切できなくなります。また、プロパティの属性(例えば、それが書き込み可能であるか、列挙可能であるかなど)も変更できなくなります。
この凍結は「浅い」凍結である点に注意が必要です。つまり、オブジェクト自身の直接的なプロパティのみが凍結され、もしオブジェクトが別のオブジェクトや配列を内包している場合、その内包されたオブジェクトや配列のプロパティまでは凍結されません。したがって、内包されたオブジェクトのプロパティは変更可能です。
freezeメソッドは、オブジェクトが一度作成された後に、その状態が不変であることを保証したい場合に非常に有用です。これにより、意図しないデータの変更を防ぎ、プログラムの安定性と予測可能性を高めることができます。このメソッドは、凍結されたオブジェクト自身を返します。厳格モードでは、凍結されたオブジェクトの変更を試みるとTypeErrorがスローされます。
構文(syntax)
1const applicationSettings = { 2 version: '1.0.0', 3 environment: 'development', 4 maxConnections: 10 5}; 6 7Object.freeze(applicationSettings); 8 9applicationSettings.version = '1.0.1'; 10applicationSettings.newSetting = 'newValue';
引数(parameters)
obj
- obj: object: 凍結するオブジェクト
戻り値(return)
object
Object.freeze() メソッドは、引数として渡されたオブジェクトを不変(immutable)にします。これにより、オブジェクトのプロパティの追加、削除、変更ができなくなります。このメソッドは、変更されたオブジェクトそのものを返します。