【JavaScript ECMAScript】Object::Object.preventExtensions静的メソッドの使い方
Object.preventExtensions()静的メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Object.preventExtensions()メソッドは、指定されたオブジェクトに新しいプロパティが追加されることを防ぐメソッドです。このメソッドを適用すると、そのオブジェクトは「拡張不可能」な状態となり、一度この状態になると、以降そのオブジェクトにはいかなる新しいプロパティも追加できなくなります。これは、オブジェクトの構造を固定し、外部からの予期せぬ変更を防ぎたい場合に特に役立ちます。
拡張不可能になったオブジェクトに対しては、既存のプロパティの値を変更したり、既存のプロパティを削除したりすることは引き続き可能です。また、既存のプロパティの属性(書き込み可能かどうか、列挙可能かどうかなど)を変更することもできます。しかし、たとえオブジェクトが空であっても、一度preventExtensions()が適用されると、新しいキーと値のペアを追加することは一切できなくなります。
このメソッドの引数には、拡張不可能にしたいオブジェクトそのものを渡します。戻り値としては、拡張不可能にされた元のオブジェクトが返されます。オブジェクトの拡張可能性を確認するには、Object.isExtensible()メソッドを使用できます。この機能は、APIの一部となるオブジェクトの構造を保護したり、アプリケーションの安定性を高めたりする目的で利用されます。
公式リファレンス: Object.preventExtensions()
構文(syntax)
1const targetObject = { 2 propertyA: 10, 3 propertyB: 'Hello' 4}; 5 6Object.preventExtensions(targetObject);
引数(parameters)
obj
- obj: object: 拡張を禁止する対象となるオブジェクト
戻り値(return)
Object
Object.preventExtensions()は、指定されたオブジェクトの拡張を防止した後に、そのオブジェクト自身を返します。