You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/07-object-properties/01-property-descriptors/article.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,9 @@
3
3
4
4
Как мы знаем, объекты могут содержать свойства.
5
5
6
-
До этого момента, мы рассматривали свойство только как пару "ключ-значение". Но на самом деле, свойство объекта - это гораздо более гибкое и мощное понятие.
6
+
До этого момента, мы рассматривали свойство только как пару "ключ-значение". Но на самом деле, свойство объекта - это гораздо более гибкое и мощное средство.
7
7
8
-
В этой главе мы изучим дополнительные средства конфигурации свойств, а в следующей увидим, как легко превратить их в специальные функции - геттеры и сеттеры.
8
+
В этой главе мы изучим дополнительные опции конфигурации свойств, а в следующей увидим, как легко превратить их в специальные функции - геттеры и сеттеры.
Сравните этот способ с `user.name`, который мы создали выше "обычным способом": в этот раз все флаги имеют значение `false`. Если это не то, что нам нужно, надо присвоить им значения `true` в `дескрипторе`.
99
+
Сравните этот способ с `user.name`, который мы создали выше "обычным способом": в этот раз все флаги имеют значение `false`. Если это не то, что нам нужно, надо присвоить им значения `true` в параметре `descriptor`.
100
100
101
101
Теперь давайте рассмотрим на примерах, что нам дает использование флагов.
102
102
@@ -216,7 +216,7 @@ Math.PI = 3; // Ошибка
216
216
// delete Math.PI тоже не сработает
217
217
```
218
218
219
-
Определение свойства как неконфигурируемого - это дорога в один конец. Мы не сможем поменять это обратно, потому что `defineProperty` не работает с неконфигуриремыми свойствами.
219
+
Определение свойства как неконфигурируемого - это дорога в один конец. Мы не сможем поменять его обратно, потому что `defineProperty` не работает с неконфигуриремыми свойствами.
220
220
221
221
В коде ниже мы делаем `user.name` "навечно запечатанной" константой:
```smart header="Ошибки отображаются только в режиме use strict"
243
-
В режиме non-strict мы не увидим никаких ошибок при записи в свойства "только для чтения" и т.п. Эти операции все равно не будут выполнены успешно. Действия, нарушающие ограничения флагов свойств в режиме non-strict, просто тихо игнорируются.
242
+
```smart header="Ошибки отображаются только в строгом режиме"
243
+
В нестрогом режиме мы не увидим никаких ошибок при записи в свойства "только для чтения" и т.п. Эти операции все равно не будут выполнены успешно. Действия, нарушающие ограничения флагов свойств в нестрогом режиме, просто молча игнорируются.
0 commit comments