Привет, мои замечательные друзья! В этой статье вы найдете подробную информацию об обозначениях объектов и квадратных скобках😄 и, конечно же, какой из них использовать 👍.

Это кусок пирога 🍰 решить, какой из них использовать больше всего. Конечно, обозначение через точку 🥇. Используйте скобки, если вы хотите получить доступ к свойству объекта с помощью переменной или свойства, которое не является допустимым идентификатором Javascript.

Обозначение точками

Всегда используйте запись через точку, потому что-

  1. Легче читать ✅
  2. Легче всего печатать 🍾

Возьмем пример

const got = {
  firstname='Arya',
  lastname='Stark',
  dialogue = 'Not today...', 
  getName = function(){
            return this.firstname '+' this.lastname
            }
}
got.firstname ; // ✅Arya
got.getName();  //✅Arya Stark

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

got.getDialogue = function(){
                  return this.dialogue
} 

Обозначение скобки

Давайте посмотрим на приведенный выше пример, используя скобки.

got.['firstname'];// ✅Arya
got['getName'](); //✅Arya Stark

Новые свойства могут быть добавлены с помощью нотации скобок.

got['age'] = 16
got.getage = function(){
 return this.age;
}

Что делать, если я хочу получить доступ к свойству с помощью переменной??

const name = ‘firstname’;
got[name]; //✅Arya

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

const name = ‘firstname’;
got.name; //❌ output undefined

Однако, если имя свойства не является допустимым JS-идентификатором (например, имя свойства начинается с цифры или содержит пробелы, дефис), доступ к нему с использованием записи через точку вызовет ошибку. Единственный способ получить к нему доступ — использовать запись в квадратных скобках.

const obj = {
     123: 'Shery',
     name-123: 'Labra',
     123-name: 'Sheero'
}
//using dot notation
obj.123 //❌ syntax error
obj.name-123 //❌ syntax error
obj.123-name //❌ syntax error
//using bracket notation
obj['123'] //✅ 'Shery'
obj['name-123'] // ✅ 'Labra'
obj['123-name'] //✅ 'Sheero
obj['date of birth'] = 'Dec 04'  //adding new property

Вывод

  1. Старайтесь чаще использовать запись через точку.🏆
  2. Используйте запись в квадратных скобках, когда вы пытаетесь получить доступ к свойству с помощью переменной.✌
  3. Используйте скобки, если имя свойства не является допустимым идентификатором JS. 👻