В этой лекции мы рассмотрим способ заморозки наших объектов. Мы научимся делать их неизменяемыми. Возьмем наш объект с твитом, у которого есть поле like, значение которого 16. И получим данные об этом свойстве через getOwnPropertyDescriptor. Мы увидим, что у него есть value = 16, и поля writable, configurable и enumerable выставленные в true, то есть это свойства редактируемые, мы видим это свойство, мы можем получить его в списке object.keys и мы можем удалить его. Теперь передадим весь наш объект твита в специальный метод object.freeze, который заморозит его, и снова получим значение getOwnPropertyDescriptor от нашего свойства. Мы видим, что значение свойства осталось неизменным, поле enumerable осталось неизменным и выставлено в true, а вот параметры writable и configurable стали false, то есть поле стало нередактируемым и неудаляемым. Для проверки того, заморожен наш объект или нет, существует специальный метод. isFrozen. В данном случае он вернет нам true, так как объект заморожен. Попытаемся приравнять новое значение нашему свойству, выставить его в 17. И мы увидим, что этого не произошло. При повторном чтении нашего свойства значение осталось прежним и мы получили 16. Теперь попробуем удалить наше свойство. Мы получим false, свойство не удалится. А в следующей лекции мы рассмотрим подробнее объект даты и объект, предоставляющий математические методы в JavaScript.