Два найпоширеніші способи доступу до властивостей у JavaScript - це точка та квадратні дужки. Обидва value.x and value[x]
отримують доступ до властивості, але не обов'язково однакові. Різниця полягає в тому, як інтерпретується х. Під час використання крапки частина після крапки має бути дійсним ім'ям змінної, і вона безпосередньо називає властивість. При використанні квадратних дужок вираження між дужками оцінюється для отримання назви властивості. Тоді як value.x отримує властивість значення під назвою "x", значення [x] намагається оцінити вираз x і використовує результат як ім'я властивості.
Отже, якщо ви знаєте, що майно, яке вас цікавить, називається "довжина", ви кажете value.length
. Якщо ви хочете витягти властивість, назване значенням, яке міститься в змінній i
, ви говоритеvalue[i]
. І тому , що імена властивостей може бути будь-який рядком, якщо ви хочете отримати доступ до властивості з ім'ям “2”
або “John Doe”
, ви повинні використовувати квадратні дужки: value[2] or value["John Doe"]
. Це так, навіть якщо ви заздалегідь знаєте точну назву властивості, оскільки жодне не “2” nor “John Doe”
є дійсним іменем змінної, і тому не можна отримати доступ через позначення крапок.
У разі масивів
Елементи в масиві зберігаються у властивостях. Оскільки назви цих властивостей є числами, і нам часто потрібно отримувати їх ім’я зі змінної, для доступу до них нам доводиться використовувати синтаксис дужок. Властивість довжини масиву говорить нам, скільки елементів він містить. Це ім'я властивості є дійсним ім'ям змінної, і ми знаємо її ім'я заздалегідь, тому, щоб знайти довжину масиву, ви зазвичай пишете, array.length
тому що це простіше написати, ніж array["length"]
.