Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

Object.isSealed()

BaselineWidely available

Object.isSealed() メソッドは、オブジェクトが封印されているかどうかを判定します。

試してみましょう

const object1 = {  property1: 42,};console.log(Object.isSealed(object1));// Expected output: falseObject.seal(object1);console.log(Object.isSealed(object1));// Expected output: true

構文

js
Object.isSealed(obj)

引数

obj

確認したいオブジェクトです。

返値

論理値で、与えられたオブジェクトが封印されているかどうかを示します。

解説

オブジェクトが封印されている場合はtrue が、そうでない場合はfalse が返ります。オブジェクトが拡張不可かつすべてのプロパティが設定変更不可であり、それゆえ削除できない場合に(ただし書き込み不可である必要はありません)、封印されているとなります。

Object.isSealed の使用

js
// 既定でオブジェクトは封印されていませんconst empty = {};Object.isSealed(empty); // false// 空のオブジェクトを拡張不可にすると、// そのまま封印状態になりますObject.preventExtensions(empty);Object.isSealed(empty); // true// 空でないオブジェクトでは、そのプロパティをすべて設定変更不可にしない限り// 上記と同じにはなりませんconst hasProp = { fee: "fie foe fum" };Object.preventExtensions(hasProp);Object.isSealed(hasProp); // false// そこですべてのプロパティを設定変更不可にすると、// オブジェクトは封印状態になりますObject.defineProperty(hasProp, "fee", {  configurable: false,});Object.isSealed(hasProp); // true// オブジェクトを封印する最も簡単な方法は、// もちろん Object.seal ですconst sealed = {};Object.seal(sealed);Object.isSealed(sealed); // true// 封印されたオブジェクトはその定義により、拡張できませんObject.isExtensible(sealed); // false// 封印されたオブジェクトは凍結されているかも// しれませんが、必ずしもそうではありませんObject.isFrozen(sealed); // true// すべてのプロパティが書き込み不能でもありますconst s2 = Object.seal({ p: 3 });Object.isFrozen(s2); // false// "p" はまだ書き込み可能ですconst s3 = Object.seal({  get p() {    return 0;  },});Object.isFrozen(s3); // true// アクセサープロパティでは設定変更が可能かという事柄だけになります

オブジェクト以外の型強制

ES5 では、このメソッドの引数がオブジェクトではない場合 (プリミティブの場合)、TypeError が発生します。 ES2015 以降では、オブジェクトでない引数は、それが封印された通常のオブジェクトであるかのように扱われ、単にtrue それを返します。

js
Object.isSealed(1);// TypeError: 1 はオブジェクトではない (ES5 のコード)Object.isSealed(1);// true                          (ES2015 のコード)

仕様書

Specification
ECMAScript® 2026 Language Specification
# sec-object.issealed

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp