(標準組み込みオブジェクト > Object > メソッド)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions
オブジェクトの拡張を禁止する。オブジェクトの拡張というのはプロパティの追加のこと。オブジェクトに新しくプロパティを追加することを禁止するには、Object.preventExtensions(o) メソッドを使う(※値の変更やプロパティの削除は許可されている)。
オブジェクトの拡張 (すなわち、プロパティの追加) が禁止されているか確認するには、Objectd.isExtensible(o)関数が使える。これにオブジェクトを渡すと、拡張が禁止されている状態では false が返る。
'use strict';
const a = {
name: 'Mike',
age: 25
};
Object.preventExtensions(a);
console.log(Object.isExtensible(a)); // false
console.log(a); // {name: "Mike", age: 25}
a.age = 30; // age の値は上書きされる
a.city = 'Los Angeles'; // エラー (strict mode), 無視 (non-strict)