CARVIEW |
Select Language
HTTP/2 200
content-type: text/html
x-guploader-uploadid: AAwnv3Ivn1re1adrBRx8a3PNMX1i1NbBwr6Znp6UtmA5tRTLOJlSp6ocPFPURQ7Dx3q2DK_S
cache-control: public, max-age=3600
expires: Fri, 10 Oct 2025 00:06:13 GMT
last-modified: Thu, 09 Oct 2025 01:14:28 GMT
etag: W/"dddb6a8c8929fbba58554de91d2ff9cb"
x-goog-generation: 1759972468476440
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 171013
x-goog-meta-goog-reserved-file-mtime: 1759970707
x-goog-hash: crc32c=PtCJ8w==, md5=3dtqjIkp+7pYVU3pHS/5yw==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: c927b98dba309ebf1f9a51363dc26efa
date: Thu, 09 Oct 2025 23:06:14 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
Object.isFrozen() - JavaScript | MDN
Toggle sidebar
>
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
Object.isFrozen()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
Object.isFrozen()
はオブジェクトが凍結されているかどうかを判定します。
試してみましょう
const object = {
property1: 42,
};
console.log(Object.isFrozen(object));
// 予想される結果: false
Object.freeze(object);
console.log(Object.isFrozen(object));
// 予想される結果: true
構文
js
Object.isFrozen(obj)
引数
obj
-
確認したいオブジェクトです。
返値
論理値で、与えられたオブジェクトが凍結されているかどうかを示します。
解説
オブジェクトが凍結状態 (frozen) とは、オブジェクトが拡張可能ではなく、すべてのプロパティは構成不可であり、そしてすべてのデータプロパティ(これはゲッターやセッターコンポーネントを持つアクセサープロパティ以外のものを指します)が書き込み不可である場合です。
例
>Object.isFrozen の使用
js
// 新しいオブジェクトは拡張可能であるので、凍結されていません
Object.isFrozen({}); // false
// 拡張可能ではない空のオブジェクトは、他に何もしなくても
// 凍結されています
const vacuouslyFrozen = Object.preventExtensions({});
Object.isFrozen(vacuouslyFrozen); // true
// プロパティをひとつ持つ新しいオブジェクトも拡張可能であり、
// それゆえ凍結されていません
const oneProp = { p: 42 };
Object.isFrozen(oneProp); // false
// オブジェクトを拡張不可にしても、それは凍結されません
// なぜなら、まだプロパティが設定変更可能
// (かつ書き込み可能) であるからです
Object.preventExtensions(oneProp);
Object.isFrozen(oneProp); // false
// ...しかしプロパティを削除すると、そのオブジェクトは
// 他に何もしなくても凍結されます
delete oneProp.p;
Object.isFrozen(oneProp); // true
// 書き込み不可であるが設定変更可能なプロパティを持つ、
// 拡張不可のオブジェクトは、凍結されていません
const nonWritable = { e: "plep" };
Object.preventExtensions(nonWritable);
Object.defineProperty(nonWritable, "e", {
writable: false,
}); // 書き込み不可にします
Object.isFrozen(nonWritable); // false
// プロパティを構成不可にすると、
// オブジェクトは凍結されます
Object.defineProperty(nonWritable, "e", {
configurable: false,
}); // 構成不可にします
Object.isFrozen(nonWritable); // true
// 構成不可であるが書き込み可能なプロパティを持つ、
// 拡張不可のオブジェクトは、やはり凍結されていません
const nonConfigurable = { release: "the kraken!" };
Object.preventExtensions(nonConfigurable);
Object.defineProperty(nonConfigurable, "release", {
configurable: false,
});
Object.isFrozen(nonConfigurable); // false
// プロパティを書き込み不可にすると、オブジェクトは
// 凍結されます
Object.defineProperty(nonConfigurable, "release", {
writable: false,
});
Object.isFrozen(nonConfigurable); // true
// 設定変更可能なアクセサープロパティを持つ拡張不可の
// オブジェクトは、凍結されていません
const accessor = {
get food() {
return "yum";
},
};
Object.preventExtensions(accessor);
Object.isFrozen(accessor); // false
// プロパティを構成不可にすると、オブジェクトは凍結されます
Object.defineProperty(accessor, "food", {
configurable: false,
});
Object.isFrozen(accessor); // true
// なお、オブジェクトを凍結するもっとも簡単な方法は、
// Object.freeze を呼び出すことです
const frozen = { 1: 81 };
Object.isFrozen(frozen); // false
Object.freeze(frozen);
Object.isFrozen(frozen); // true
// 定義によると、凍結されたオブジェクトは拡張不可です
Object.isExtensible(frozen); // false
// また、凍結されたオブジェクトは封印されています
Object.isSealed(frozen); // true
オブジェクト以外の型強制
ES5 では、このメソッドの引数がオブジェクトではない場合(プリミティブの場合)、 TypeError
が発生します。 ES2015 以降では、オブジェクトでない引数は、それが凍結された通常のオブジェクトであるかのように扱われ、単に true
を返します。
js
Object.isFrozen(1);
// TypeError: 1 is not an object (ES5 code)
Object.isFrozen(1);
// true (ES2015 code)
仕様書
Specification |
---|
ECMAScript® 2026 Language Specification> # sec-object.isfrozen> |
ブラウザーの互換性
Loading…