Операторы доступа к сущностям объекта

     Формат применения:

      Выражение доступа к сущности объекта.
  Выражение доступа к сущности объекта - устанавливает отношения операндов на основе операторов доступа к сущностям объекта.
  Любой объект есть результат формализации какого-либо фрагмента логического пространства разработчика, которое разработчик использует для реализации выполняемого проекта. Эта формализация не только описывает соответствующий фрагмент логического пространства, но и даёт инструменты для манипулирования с ним. То есть объекты - это, по сути, интерфейсы для использования логического пространства разработчика в программном коде.
  Сущности объекта это:
  1. Экземпляр объекта - Доступный код конкретного объекта указанного типа.
      В JavaScript любой объект абстрактен, конкретен всегда только экземпляр объекта.
    Например, есть строка вообще, а есть строковое значение. Все строки вообще могут иметь длину, но лишь строковое значение имеет конкретную длину.
      То есть, с самим по себе объектом программист, как правило, не работает, в своём коде разработчик использует экземпляр объекта.
  2. Свойство объекта - Приписанная к объекту переменная со своим значением, которое доступно в экземпляре объекта.
      В совокупности все свойства объекта составляют суть этого объекта. Характеристики соответствующего экземпляра объекта задаются значениями свойств в этом экземпляре объекта. С помощью изменяемых значений свойств программным кодом можно изменять эти характеристики, тем самым изменяя связанный с этим экземпляром объекта соответствующий фрагмент логического пространства.
      Поскольку значение всякой переменной имеет один из форматов JavaScript, то значением любого свойства объекта может быть и экземпляр объекта (другого).
  3. Метод объекта - Приписанная к объекту функция, которая доступна в экземпляре объекта.
      Если значением свойства в экземпляре объекта является функция, то такое свойство называется методом.
      Метод позволяет реализовать заданный алгоритм с использованием экземпляра объекта (в том числе с использованием значений его свойств). Метод может быть выполнен как в коде скрипта (например метод MATC), или же вызван непосредственно браузером (например любая функция назначенная на событие).
      Не надо забывать, что каждый метод сам является экземпляром объекта Function.
      В теле метода объекта не доступны внешние переменные кода скрипта окружения, однако, с использованием ключевого слова this доступны свойства его экземпляра объекта (значит и их значения).
  Поскольку свойство объекта, в свою очередь, может содержать экземпляр объекта (другого), а с помощью некоторых методов объектов можно получать экземпляры объектов (других), то, при доступе к сущности объекта, может возникать некая логическая иерархия.
  Поэтому, естественным образом, выражение доступа к сущности объекта представляет собой цепочку вложенностей смешанных групп сущностей объекта "родитель"."дочка", в которой каждая "дочка" также может являться чьим-то "родителем".
  Выражения на основе операторов доступа к сущности объекта:
  Экземпляр объекта - Получить в коде скрипта.

Формат записи в коде скрипта:

  Экземпляры некоторых объектов сразу доступны в глобальных переменных с зарезервированными именами JavaScript и браузера.
  Свойство объекта - Получить или изменить значение свойства экземпляра объекта, или добавить новое свойство к экземпляру объекта.

Формат записи в коде скрипта:

  1. Экземпляр объекта.Свойство [= значение]
  2. Экземпляр объекта[свойство] [= значение]
  3. СВОЙСТВО [= значение]

Значения формата записи:

  • Экземпляр объекта - Сущность экземпляр объекта в любом его формате.
  • . - Ключевое слово (точка). Оператор построения цепочки доступа к сущности объекта.
  • Свойство - Имя свойства, к которому надо получить доступ, или которое надо добавить, заданное непосредственно.
  • [ - Оператор группировки. Ключевое слово в этом формате.
  • свойство - Имя свойства, к которому надо получить доступ, указанное в любом строковом формате.
      В этом формате свойство объекта можно определять как элемент массива, вместо имени которого подставляется выражение экземпляра объекта, а ассоциативный указатель совпадает с именем свойства экземляра объекта.
  • ] - Оператор группировки. Ключевое слово в этом формате.
  • СВОЙСТВО - Имя свойства, к которому надо получить доступ, заданное непосредственно в части кода скрипта, выделенного оператором with.
      В общем случае СВОЙСТВО - имя свойства глобального объекта JavaScript или DOM.
  • = - Оператор присвоения. Ключевое слово в этом формате.
  • Значение - Любой операнд значения JavaScript.
      Свойство добавится, если такого свойства нет в экземпляре объекта, в противном случае может быть заменено значение имеющегося свойства.
  
  Хотя форматы 1 и 2 допустимы для добавления нового свойства, однако в этом случае новое свойство добавляется только этому экземпляру объекта.
  Также изменённое значение свойства экземпляра объекта будет присуще только этому экземпляру.
  Для добавления нового свойства объекту (всем его экземплярам) надо использовать прототип объекта.
  Изменить значение свойства можно, только если это разрешает его дескриптор.
  Метод объекта - Обратиться в коде скрипта или добавить новый метод к экземпляру объекта.

Формат записи в коде скрипта:

  1. Экземпляр объекта.Метод([Значение1[,Значение2...[,ЗначениеN]]])
  2. Экземпляр объекта.Метод [= функция]
  3. Экземпляр объекта[метод]([Значение1[, Значение2...[, ЗначениеN]]])
  4. Экземпляр объекта[метод] [= функция]
  5. МЕТОД([Значение1[,Значение2...[,ЗначениеN]]])

Значения формата записи:

  • Экземпляр объекта - Сущность экземпляр объекта в любом его формате.
  • . - Ключевое слово (точка). Оператор построения цепочки доступа к сущности объекта.
  • Метод - Имя метода объекта, который должен быть вызван или добавлен (2-й формат), заданное непосредственно.
  • [ - Оператор группировки. Ключевое слово в этом формате.
  • метод - Имя метода объекта, который должен быть вызван или добавлен (4-й формат), заданное непосредственно.
      В этом формате метод объекта (свойство, значением которого является функция) можно определять как элемент массива, вместо имени которого подставляется выражение экземпляра объекта, а ассоциативный указатель совпадает с именем метода экземляра объекта.
  • ] - Оператор группировки. Ключевое слово в этом формате.
  • МЕТОД - Имя метода объекта, который должен быть вызван, заданное непосредственно для части кода скрипта, выделенного оператором with.
      В общем случае МЕТОД - имя метода глобального объекта JavaScript или DOM.
  • ( - Оператор группировки. Ключевое слово в этом формате.
  • Значение - Значение соответствующего аргумента метода, заданное в любом допустимом формате JavaScript (Количество значений должно совпадать с количеством аргументов).
  • , - оператор группировки, ключевое слово в этом формате.
  • ) - Оператор группировки. Ключевое слово в этом формате.
  • = - Оператор присвоения. Ключевое слово в этом формате.
  • Функция - Любой операнд значения со значением функции, которая будет добавлена в качестве нового метода.
      Метод добавится, если такого метода нет в экземпляре объекта, в противном случае результат не предсказуемый.
  
  Хотя форматы 2 и 4 допустимы для добавления нового метода, однако в этом случае новый метод добавляется только этому экземпляру объекта.
  Также изменённое значение метода экземпляра объекта будет присуще только этому экземпляру.
  Для добавления нового метода объекту (всем его экземплярам) надо использовать прототип объекта.
  Изменить значение метода (свойства, значением которого является функция) можно, только если это разрешает его дескриптор.