Search
Write a publication
Pull to refresh

Comments 5

Название какое-то корявое. Наводит на мысль что у языка Javascript есть какие-то дополнительные свойства.
На хабре, "современный учебник js", MDN, даже MSDN. Каждая из статей более подробна, чем у вас.

value — если это не getter (см. ниже), то value обязательный атрибут.

Value по-умолчанию undefined, а не обязательное.

Обратите внимание, если свойство является вложенным, то оно доступно для редактирования.
Что? К слову, стоит упомянуть, что без 'use strickt' при попытке изменения исключение выброшено не будет.

Так что для того, чтобы создать приватное постоянное свойство, вы должны определить его как:

В каком месте оно приватное? Оно по-прежнему доступно из-вне, только immutable.

Помимо настройки свойств, defineProperty может определять их динамически

Строго говоря, оно вообще только динамически их и определяет.

Однако в этом случае нельзя использовать writable, enumerable и configurable

Только writable.

асессоров

Чего?

P.S. Понял, что значит «вложенное свойство». Если это свойство имеет тип object — свойства самого этого объекта редактировать можно. Но это очевидно, покуда свойство хранит только ссылку на тот объект. Стоило написать понятнее.
За исключением случаев очевидного преимущества инкапсуляции и прогрессивных асессоров, можно заметить, что мы не «вызываем» геттер, а получаем его как свойство без скобок

Автор, пожалуйста, доработайте перевод. В таком виде его очень и очень сложно читать.
А что там говорят на лекциях про движок V8?
Вроде бы он отказывается оптимизировать геттеры и сеттеры?
А вот вопрос — есть ли возможность изменять неизменяемые поля объектов, типа windows.location, без переопределения в локальной области видимости?
Sign up to leave a comment.

Articles