Что это такое? В чем разница между ними? Когда я его использую? Приходите узнать от меня!

Давайте начнем с основ, не так ли?

Используя нотацию через точку/скобку, мы используем средства доступа к свойствам для доступа к свойству объекта. Вот основной синтаксис (или установка):

Если вы забыли, что такое объект, объект — это ассоциативный массив пар ключ-значение. Пары ключ-значение являются свойствами объекта. Вы создаете объект с литералом объекта («{}»). Например, мы создали объект с именем «человек» с парами «ключ-значение»: имя, фамилия и т. д.

Хорошо, так что мы догнали сейчас, верно? Давайте займемся действительно хорошими вещами.

Обозначение через точку

В приведенном выше примере синтаксиса «object.propertyName» — это точечная нотация. Имя свойства должно быть идентификатором Javascript, а также может быть зарезервированным словом. Точечная нотация намного проще для чтения, понимания и широко используется. Единственная вещь с точечной нотацией — это то, что вы не можете использовать переменные. Например, если мы хотим получить «employeeId», нам придется использовать «person.employeeId».

Звучит довольно просто, верно? Не волнуйтесь, запись в квадратных скобках почти такая же, но немного отличается.

Квадратные скобки

Очевидно, обозначение скобок — это «объект[выражение]», которое также является именем свойства. Вы можете использовать переменные в скобках. Вот пример:

Если объект является строкой, мы можем получить доступ к этому значению только с помощью записи в скобках, а не записи через точку.

Очевидно, что красная волнистая линия означает, что что-то не так. Итак, мы можем предположить, что мы не можем использовать запись через точку.

В целом, нотация точка/скобка довольно проста для понимания. Хотя запись через точку обычно используется, вы не можете получить доступ к значению, если ключ является строкой. Это когда вы используете запись в скобках. Если мы говорим о массиве вложенных объектов, это будет совсем другая история, но сейчас я думаю, что изучение основ — хорошее начало.

Источники: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors#bracket_notation, https://www.tutorialspoint.com/dot-notation-vs-bracket -notation-in-javascript#:~:text=%20dot%20notation%20используется%20, доступ%20объект%20свойства%20используется%20переменная. , https://javascript.plainenglish.io/javascript-dot-notation-vs-bracket-notation-what-to-use-when-e24117e44d71