Точечная нотация. Когда нужно прочитать значение свойства объекта или что-то записать в свойство, можно использовать точечную нотацию (.). Например, если переменная iceCream указывает на объект, свойство которого flavor содержит строку "chocolate", то конструкция iceCream.flavor даст нам "chocolate".
Скобочная нотация. Иногда заранее неизвестно имя свойства объекта, к которому нужно обратиться. Например, иногда нужно читать значение свойства iceCream.flavor, а иногда — значение свойства iceCream.taste. Скобочная нотация ([]) позволяет обращаться к свойствам объектов, задавая их имена с помощью переменных. Например, предположим, что в коде есть такая переменная: let ourProperty = 'flavor'. Это значит, что конструкция вида iceCream[ourProperty] даст нам значение "chocolate". Что интересно, скобочной нотацией можно пользоваться и при создании объектов: { [ourProperty]: "vanilla" }