Запретить создавать свойства объекта
Чтобы запретить создавать новые свойства для объекта, можно использовать метод Object.preventExtensions()
.
var Config = {}; Config.url = 'example.com'; // запретить создавать свойства объекта Config Object.preventExtensions(Config); // Попытка создания нового свойства Config.status = '1'; Config.url; // example.com Config.status; // undefined
При этом можно изменять текущие значения свойств.
Узнать, можно ли создавать свойства в объекте, можно через метод Object.isExtensible()
.
var Config = {}; Object.isExtensible(Config); // true Object.preventExtensions(Config); Object.isExtensible(Config); // false
Метод Object.preventExtensions()
появился в EcmaScript 5.1, поддерживается всеми современными браузерами, поддержка IE с версии IE 9.
Авторизуйтесь, чтобы добавлять комментарии