Object.property

object["property"]

Важное различие между этими двумя синтаксисами, на которое следует обратить внимание, состоит в том, что в первом варианте имя свойства представляет собой идентификатор, а во втором – строку.

В Java, C, C++ и подобных языках со строгой типизацией объект может иметь только фиксированное число свойств, и имена этих свойств должны быть определены заранее. Поскольку JavaScript – слабо типизированный язык, к нему данное правило неприменимо; программа может создавать любое количество свойств в любом объекте. Однако в случае использования оператора «точка» для доступа к свойству объекта имя свойства задается идентификатором. Идентификаторы должны быть частью текста JavaScript-программы – они не являются типом данных и ими нельзя манипулировать из программы.

В то же время при обращении к свойству объекта с помощью нотации массивов [] имя свойства задается в виде строки. Строки в JavaScript – это тип данных, поэтому они могут создаватьсяиизменятьсяво время работы программы. И поэтому в JavaScript можно, например, написать следующий код:

var addr = "";

for(i = 0; i < 4; i++) {

addr += customer["address" + i] + '\n';

}

В этом фрагменте читаются и объединяются в одну строку свойства address0, address1, address2 и address3 объекта customer.

Когда объект используется в такой форме, его часто называют ассоциативным массивом – структурой данных, позволяющей связывать произвольные значения с произвольными строками.

Нередко для описания этой ситуации используется термин отображение (map): JavaScript-объекты отображают строки (имена свойств) на их значения.

Использование точки (.) для доступа к свойствам делает их похожими на статические объекты в языках C++ и Java, и они прекрасно работают в этой роли. Но они также предоставляют мощное средство для связи значений с произвольными строками.

 








Дата добавления: 2015-08-01; просмотров: 547;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.