【Node.js24.x】Object::isSealed()メソッドの使い方
isSealedメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
isSealedメソッドは、指定されたJavaScriptオブジェクトが「シールされている」状態であるかどうかを判断し、その結果を真偽値(trueまたはfalse)で返すメソッドです。このメソッドは、Node.js環境におけるオブジェクトの挙動を理解し、安全に操作するために重要です。
オブジェクトがシールされると、そのオブジェクトの構造に対する変更が制限されます。具体的には、新しいプロパティをオブジェクトに追加することはできなくなり、既存のプロパティをオブジェクトから削除することも不可能になります。また、すべての既存プロパティは「設定不可(non-configurable)」となり、そのプロパティの特性(例えば、書き込み可能かどうかなど)を後から変更したり、削除可能に戻したりすることもできなくなります。
ただし、シールされたオブジェクトであっても、既存プロパティの値そのものは変更可能です。つまり、オブジェクトの骨格は固定されますが、その中身は更新できる状態を保ちます。isSealedメソッドは、このようなオブジェクトの「シール」状態をプログラムで確認する際に利用されます。この状態は通常、Object.seal()メソッドによって設定されます。プログラムの意図しない構造変更を防ぎ、安定性を高める目的でこのメソッドの確認結果が活用されます。
構文(syntax)
1const myObject = { 2 property1: "value1", 3 property2: 2 4}; 5 6Object.seal(myObject); 7 8console.log(Object.isSealed(myObject));
引数(parameters)
obj
- obj: object: 検査するオブジェクト
戻り値(return)
boolean
指定されたオブジェクトが、プロパティの追加、削除、およびプロパティ記述子の変更に対して密封されているかどうかを示します。密封されている場合は true を、そうでない場合は false を返します。