← Все вопросы

Что такое объекты в JavaScript и как с ними работать?

Задан 8 месяцев назад205 просмотров2 ответа
5

Никак не уложу в голове javascript объекты. Понимаю массивы — это список значений. А объект — это что, тоже список, но с именами?

Как создать объект, как достать из него значение и как пройтись по всем свойствам в цикле? Покажите на простом примере, пожалуйста.

2 ответа

11
✓ Принятый ответ — помог автору

Да, по сути объект — это набор пар «ключ: значение». Если массив хранит данные по номеру (индексу), то объект хранит по имени.

Создаём:

const user = {
  name: 'Аня',
  age: 20,
  isStudent: true
};

Доступ к свойствам — двумя способами:

console.log(user.name);      // через точку: 'Аня'
console.log(user['age']);    // через скобки: 20

Через точку — когда ключ известен заранее. Через [ ] — когда имя свойства лежит в переменной:

const key = 'name';
console.log(user[key]);      // 'Аня'

Добавить или изменить:

user.city = 'Москва';   // добавили новое
user.age = 21;          // изменили
delete user.isStudent;  // удалили

Перебрать все свойства можно через for...in или Object.entries:

for (const key in user) {
  console.log(key, '=', user[key]);
}

// или красивее:
for (const [key, value] of Object.entries(user)) {
  console.log(key, '=', value);
}

Ещё полезно: Object.keys(user) вернёт массив ключей, Object.values(user) — массив значений. Объекты — это основа почти всего в JS, так что время на них стоит потратить.

3

Чтобы не путаться: точка vs квадратные скобки.

obj.name      // ключ написан буквально
obj[name]     // здесь name — переменная, берётся её значение
obj['my-key'] // скобки обязательны, если в ключе дефис или пробел

Частый затык у новичков именно с дефисами и динамическими ключами — через точку такое не достанешь, только через [ ].

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект