|
1 | 1 | # Дескрипторы, геттеры и сеттеры свойств
|
2 | 2 |
|
3 |
| -В этой главе мы рассмотрим возможности, которые позволяют очень гибко и мощно управлять всеми свойствами объекта, включая их аспекты -- изменяемость, видимость в цикле `for..in` и даже "невидимые" геттеры-сеттеры. |
| 3 | +В этой главе мы рассмотрим возможности, которые позволяют очень гибко и мощно управлять всеми свойствами объекта, включая их аспекты -- изменяемость, видимость в цикле `for..in` и даже незаметно делать их функциями. |
4 | 4 |
|
5 |
| -Они поддерживаются всеми современными браузерами, но не IE8-. Точнее говоря, они поддерживаются даже в IE8, но не для всех объектов, а только для DOM-объектов (используются при работе со страницей, это сейчас вне нашего рассмотрения). |
| 5 | +Они поддерживаются всеми современными браузерами, но не IE8-. Впрочем, даже в IE8 их поддерживает, но только для DOM-объектов (используются при работе со страницей, это сейчас вне нашего рассмотрения). |
6 | 6 |
|
7 | 7 | [cut]
|
8 | 8 | ## Дескрипторы в примерах
|
9 | 9 |
|
10 | 10 | Основной метод для управления свойствами -- [Object.defineProperty](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/defineProperty).
|
11 | 11 |
|
12 |
| -Он позволяет определить свойство путём задания "дескриптора" -- описания, включающего в себя ряд важных внутренних параметров. |
| 12 | +Он позволяет как просто объявить свойство объекта, так и настроить тонко настроить его особые аспекты, которые никак иначе не изменить. |
13 | 13 |
|
14 | 14 | Синтаксис:
|
15 | 15 |
|
@@ -349,8 +349,8 @@ alert( Object.getOwnPropertyNames(obj) ); // a, internal, b
|
349 | 349 | ```
|
350 | 350 |
|
351 | 351 | </dd>
|
352 |
| -<dt>[Object.getOwnPropertyDescriptor(prop)](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor)</dt> |
353 |
| -<dd>Возвращает дескриптор для свойства с `prop`. |
| 352 | +<dt>[Object.getOwnPropertyDescriptor(obj, prop)](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor)</dt> |
| 353 | +<dd>Возвращает дескриптор для свойства `obj[prop]`. |
354 | 354 |
|
355 | 355 | Полученный дескриптор можно изменить и использовать `defineProperty` для сохранения изменений, например:
|
356 | 356 |
|
|
0 commit comments