Closed4

【JavaScript】preventExtensions / seal / freeze

ShionShion

Object.preventExtensions

オブジェクトを拡張不能にする。

const user = {
  name: "shion",
  age: 99,
};

Object.preventExtensions(user);
user.language = "ja"; // Uncaught TypeError: Cannot add property language, object is not extensible

ちなみに、拡張不能になっているかどうかを取得できる isExtensible がある。

const r = Object.isExtensible(user);
console.log(r); // false
ShionShion

Object.seal

挙動は、preventExtensions と同様。
ただ、seal を使うと全てのプロパティの configurable が false になる。

こちらも、seal 状態になっているかどうかを取得できる isSealed がある。

ShionShion

Object.freeze

挙動は、seal と同様。
ただ、seal を使うと全てのプロパティの wribale が false になる。

こちらも、freeze 状態になっているかどうかを取得できる isFrozen がある。

このスクラップは2024/12/18にクローズされました