Привет, мои замечательные друзья! В этой статье вы найдете подробную информацию об обозначениях объектов и квадратных скобках😄 и, конечно же, какой из них использовать 👍.
Это кусок пирога 🍰 решить, какой из них использовать больше всего. Конечно, обозначение через точку 🥇. Используйте скобки, если вы хотите получить доступ к свойству объекта с помощью переменной или свойства, которое не является допустимым идентификатором Javascript.
Обозначение точками
Всегда используйте запись через точку, потому что-
- Легче читать ✅
- Легче всего печатать 🍾
Возьмем пример
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
Вывод
- Старайтесь чаще использовать запись через точку.🏆
- Используйте запись в квадратных скобках, когда вы пытаетесь получить доступ к свойству с помощью переменной.✌
- Используйте скобки, если имя свойства не является допустимым идентификатором JS. 👻