Путь разработчика    

Как предотвратить модификацию объекта в JavaScript?


Содержание

Существует множество способов блокировки объекта в соответствии с вашими потребностями.

  1. Object.freeze()
  2. Object.seal()
  3. Object.preventExtensions()

Object.freeze()

Чтобы предотвратить модификацию объектов JavaScript, одним из методов является использование Object.freeze(). Замораживание объекта не позволяет добавлять новые объекты к объекту и не позволяет удалить или изменить существующие свойства. Любая попытка сделать это потерпит неудачу, либо тихо, либо выбросив исключение TypeError (чаще всего, но не исключительно, в строгом режиме).

Синтаксис

Python

Пример

Python

Выход

Python

Замораживание объекта может быть полезно для представления логически неизменяемой структуры данных, особенно если изменение свойств объекта может привести к плохому поведению в другом месте вашего приложения. Object.freeze (...) неглубоко, это означает, что значения объекта в замороженном объекте по-прежнему изменяемы.

Object.seal()

Object.seal - это надмножество Object.preventExtensions в функциональности, поскольку в то же время он предотвращает привязку произвольных свойств к объектам, а также предотвращает изменение атрибутов свойств, которые уже существуют на объекте. Кроме того, он запрещает удаление свойств.

Синтаксис

Python

Пример

Python

Выход

Python

Object.preventExtensions()

Object.preventExtensions() устанавливает расширяемый атрибут o в false, чтобы новые свойства не добавлялись к нему. Это постоянное изменение: после того, как объект был сделан не расширяемым, он не может быть снова расширяемым.

Пример

Python

Выход

Python

Источник: http://net-informations.com/js/iq/prev.htm



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

If, else и Switch в C#

За оператором if может следовать необязательный оператор else , который выполняется, когда логическое выражение ложно. Синтаксис : Если логическое выражени...

16 09 2019 16:15:20

Выполнять бинарное усиление контраста интерактивно в C#

Пример Выполнение бинарного усиления контрастности на образ в C# выполняет бинарное усиление контрастности, устанавливая каждый пиксель на черный или белый...

15 09 2019 22:32:18

Что такое классы-оболочки в Java

Как сказано в названии, класс-оболочка обертывает (охватывает) вокруг типа данных и дает ему вид объекта. Они используются для преобразования любого примит...

14 09 2019 15:12:46

Рекурсивно выполнять уменьшение эффекта «красных глаз» на изображении в C#

Пример Выполнение эффекта красных глаз на picture в C# исследует пиксели в выбранном прямоугольнике и преобразует любой пиксель, который является более кра...

13 09 2019 1:18:55

1С:Предприятие. Практика программирования на платформе V7 (Н. Колпинский)

1 С: Предприятие. Практика программирования на платформе V7  Данные материалы рассчитаны на пользователей, знакомых с интерфейсом «1 С: Предприятия» и имеющих н...

12 09 2019 20:54:40

Сделайте CAPTCHA изображения с перекрывающимися символами в C#

Следующий MakeCaptchaImage2 метод создает Bitmap, содержащий изображение CAPTCHA. Источник: http://csharphelper.com/blog/2015/01/make-captcha-images-with-o...

11 09 2019 8:35:29

Введение в потоки Thread в Java

В чем разница между Reader и InputStream в Java Процесс представляет собой экземпляр выполняемой компьютерной программы. Процесс может выполняться процессо...

10 09 2019 0:59:32

Работа с PlayerPrefs в Unity 5 и выгрузка данных из них

В этом уроке мы разберем, что такое PlayerPrefs,где они хранятся и как работать с PlayerPrefs в Unity 5, а так же выгрузим из них данные....

09 09 2019 21:51:30

Eclipse

Eclipse — бесплатная IDE модульных кроссплатформенных приложений. В первую очередь служит для разработки расширений, в чем и заключается главное её преимущ...

08 09 2019 0:56:44

Нарисуйте кривую с отрицательным напряжением в C#

Сообщение Нарисуйте кривую с разной напряженностью в C# использует метод Graphics класса DrawCurve класса для рисования набора кривых с разными напряжениям...

07 09 2019 12:15:48

Получите значение автонабора, которое только что было вставлено в C#

Если поле базы данных является полем автонабора, то база данных автоматически генерирует для него значения. Например, предположим, что таблицы Students име...

06 09 2019 11:27:27

В чем смысл System.out.println в Java?

System.out.println - это оператор Java, который печатает переданный аргумент, в System.out, который обычно является stdout. System - класс out - это переме...

05 09 2019 21:58:15

Сделать меню во время выполнения для приложения WPF в C#

В этом примере показано, как вы можете создавать меню во время выполнения и добавлять их в приложение WPF. Обычно вы создаете пользовательский интерфейс пр...

04 09 2019 8:56:45

Получить информацию о формате даты для локали компьютера в C#

Объект System.Globalization namespace's InstalledUICulture предоставляет множество статических методов, предоставляющих информацию о численном, дате и врем...

03 09 2019 9:55:33

Основа для карточной игры в C#

Цель этого примера - предоставить некоторую поддержку для создания карточной игры. В нем показано, как сделать класс для представления карт и рассказать, к...

02 09 2019 2:37:39

NumericUpDown и использование десятичных значений в C#

Большинство разработчиков знают, что элемент NumericUpDown позволяет пользователю выбирать число, но мало кто знает, что он может обрабатывать десятичные з...

01 09 2019 7:51:17

Перетаскивание изображений при отображении предварительного просмотра в C#

Пример Перетаскивание изображений в C# объясняет, как для перетаскивания изображений. См. Этот пример для основных идей. ( Обратите особое внимание на второ...

31 08 2019 1:12:26

Почему класс Java не может быть объявлен как статический?

Java не позволяет создавать классы верхнего уровня как статические. Вы можете сделать только вложенный класс как статический. Поступая таким образом, вы мо...

30 08 2019 22:26:44

Открытие нового окна в JavaScript

Вы можете использовать JavaScript для запуска нового окна. Метод window.open(), который позволяет открыть новое окно браузера без перехода от текущей стран...

29 08 2019 3:23:36

Полный справочник по C++ (Герберт Шилдт)

Четвертое издание энциклопедического труда Г. Шилдта " Полный справочник по C++", в котором всесторонне рассматривается и иллюстрируется основная терминолог...

28 08 2019 13:21:25

Как создать выпадающие списки в JavaScript

В раскрывающемся списке содержится список текста, который позволяет пользователю сайта выбирать из параметров. HTML Выберите опции Источник Получить выбран...

27 08 2019 22:38:48

Важные особенности Java

Ниже перечислены некоторые важные особенности языка программирования Java: Простой Независимый от платформы Архитектурный Нейтральный Динамический и расшир...

26 08 2019 11:58:20

Самые популярные и востребованные языки программирования в 2018 году

Какие самые популярные и востребованные языки программирования в 2018 году? Программирование является одной из самых перспективных сфер деятельности в наше время. Человечество все больше погружается...

25 08 2019 12:54:35

Получить и установить время файла в C#

Класс File предоставляет методы, которые получают и устанавливают время файла, включая время создания, изменения и времени доступа. Следующий код показывае...

24 08 2019 3:34:43

Сортировка ListView, используя столбец, который вы нажимаете на C#

Вы можете сортировать ListView с помощью столбца, который вы нажимаете, но это намного больше, чем просто сортировка элементов ListView. Для сортировки с и...

23 08 2019 19:19:27

Какова цель утверждения pass в python?

Инструкция pass не выполняет никаких действий и служит в качестве заполнителя в Python. Его можно использовать, когда инструкция требуется синтаксически, н...

22 08 2019 10:56:20

Итерации над элементами массивов и списков в C#

Вы можете использовать цикл foreach для перебора элементов массивов, списков, коллекций и других объектов с методом GetEnumerator. Этот цикл часто больше п...

21 08 2019 5:11:13

Вектор в Java

Java-векторы обычно используются вместо массивов, поскольку они автоматически расширяются при добавлении новых данных. Это означает, что экземпляры Vector,...

20 08 2019 15:11:33

Что такое механизм передачи параметров Python?

В терминах официальных Документация Python , аргументы передаются путем назначения в Python. Фактические параметры (аргументы) для вызова функции вводятся...

19 08 2019 17:49:43

Используйте SQL-запросы для отображения данных master-detail в C#

В этом примере SQL-запросы запрашивают данные master-detail только тогда, когда это необходимо. В течение довольно долгого времени .NET-ish способ манипули...

18 08 2019 13:54:27

Позвольте пользователю выбрать критерии поиска базы данных в C#

Верхняя часть этой программы содержит три столбца элементов управления. В левом столбце содержатся комбинированные поля, содержащие имена полей в таблице б...

17 08 2019 0:25:22

HashMap в Java

В терминах компьютерного программирования карта представляет собой набор ассоциаций между парами объектов. Java HashMap - это базовая реализация интерфейса...

16 08 2019 1:10:17

Используйте двойную буферизацию, чтобы предотвратить мерцание при рисовании на C#

Пример Нарисуйте цветную кривую бабочки в C# показывает, как рисовать красочную кривую бабочки. Не упоминая об этом, я использовал двойную буферизацию в эт...

15 08 2019 7:59:11

Посмотрите, заблокирован ли файл на C#

Некоторые приложения блокируют файлы, поэтому вы не можете писать, читать, удалять или каким-либо иным образом связываться с ними. Например, когда вы откры...

14 08 2019 16:13:38

Использование растрового изображения для значка в C#

Вы не можете установить свойство Icon формы, равное растровому изображению. К счастью, достаточно легко создать значок из растрового изображения. В этом пр...

13 08 2019 13:22:57

Получить информацию о ярлыке Windows в C#

Метод GetShortcutInfo, показанный в следующем коде, получает информацию о ярлыке. Программа сначала создает объект Shell32.Shell для работы с оболочкой Win...

12 08 2019 7:38:54

Как выделить строку DataGridView, находящуюся под мышью в C#

Недавно кто-то спросил меня, как изменить стиль строки под мышью в элементе управления DataGridView. Этот пример делает это. Когда программа запускается, с...

11 08 2019 7:11:17

Выберите случайные объекты из массива в C#

В этом примере создается общий метод расширения, который позволяет легко выбирать случайные объекты из массива. Следующий код показывает метод расширения и...

10 08 2019 1:41:53

Оператор if-else в Java Примеры и синтаксис

Принятие решений является важной частью программирования. Он используется для указания порядка выполнения операторов. На этом уроке вы узнаете, как создава...

09 08 2019 18:49:56

Метод indexOf() в Java

Метод Java String indexOf() возвращает позицию указанной строки или символа из данной строки. Если целевая строка или символ не существует, она вернет -1....

08 08 2019 11:27:34

Инициализировать массив массивов в C#

Пример Инициализация двумерных массивов в C# объясняет как инициализировать двумерный массив. Массив массивов несколько похож на двумерный массив, но с нек...

07 08 2019 18:40:18

Разница между памятью Stack and Heap в Java

Модель Java Heap и Stack Memory определяет, как и когда разные потоки могут видеть значения, записанные в общие переменные другими потоками, и как синхрони...

06 08 2019 10:13:21

В чем смысл System.out.println в Java?

System.out.println - это оператор Java, который печатает переданный аргумент, в System.out, который обычно является stdout. System - класс out - это переме...

05 08 2019 8:11:13

Управление торговлей 1С:8.2. Редакция 11. Внедрение и применение (Тенгиз Куправа) 2012

Книга " Управление торговлей 1 С:8.2. Редакция 11. Внедрение и применение" раскрывает вопросы внедрения и применения принципиально нового продукта компании 1...

04 08 2019 6:49:21

Разница между окном, документом и экраном в JavaScript?

Объект окна JavaScript расположен вверху иерархии объектов JavaScript и представляет окно браузера. Объект окна поддерживается всеми браузерами. Все глобал...

03 08 2019 3:13:28

График исторических значений Dow Jones Industrial Average в C#

Эта программа отображает исторические цены на индекс Dow Jones Industrial Average. Я получил данные с этого URL: Поля в URL: Результаты приведены в примере...

02 08 2019 5:19:24


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69