Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【JavaScript ECMAScript】Reflect::Reflect.preventExtensions静的メソッドの使い方

Reflect.preventExtensions()静的メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

Reflect.preventExtensions()メソッドは、指定されたオブジェクトに新しいプロパティを追加することを禁止する操作を実行するメソッドです。JavaScriptの組み込みReflectオブジェクトの一部として提供されており、オブジェクトに対する様々な操作をより安全かつ予測可能な方法で行うための静的メソッド群の一つです。

このメソッドを使用すると、一度そのオブジェクトに拡張禁止が設定されると、以降は新しいプロパティを一切追加できなくなります。ただし、既に存在するプロパティの値を変更したり、既存のプロパティを削除したりすることは可能です。これは、オブジェクトの構造を固定し、予期せぬプロパティの追加を防ぎたい場合に非常に役立ちます。

従来のObject.preventExtensions()と同様の機能を提供しますが、Reflectオブジェクトのメソッドは、操作の成否を真偽値(trueまたはfalse)で返す点が特徴です。Object.preventExtensions()がエラーを発生させる可能性があるのに対し、Reflect.preventExtensions()はエラーを投げずに結果を返すため、プログラムの制御フローをよりシンプルに、かつ予測可能に記述できます。

引数には、拡張を禁止したい対象のオブジェクトを指定します。操作が成功した場合はtrueを、失敗した場合はfalseを返します。この機能は、オブジェクトの安定性を高め、保守しやすい堅牢なコードを記述する上で重要な役割を果たします。

公式リファレンス: Reflect.preventExtensions()

構文(syntax)

1const targetObject = {};
2Reflect.preventExtensions(targetObject);

引数(parameters)

target

  • target: object: 拡張を禁止したいオブジェクト

戻り値(return)

Boolean

オブジェクトの拡張を禁止できた場合は true を、そうでない場合は false を返します。

関連コンテンツ