Уроки модуля (2/4)
Объекты: карта ключ-значение
Объект в JS — это неупорядоченная коллекция пар ключ → значение.
Ключи – это строки (или Symbol), значения – любые: числа, строки,
массивы, другие объекты, функции. Это наиболее часто используемая структура данных в
язык: каждая «запись» в вашем домене обычно является объектом.
const utente = {
nome: 'Anna',
eta: 28,
attivo: true,
ruoli: ['admin', 'editor'],
};Чтение свойств: точка против скобки
Есть два эквивалентных обозначения:
utente.nome; // 'Anna' (dot — the normal form)
utente['nome']; // 'Anna' (bracket — equivalent)
// Brackets are MANDATORY when:
// 1) the key is not a valid identifier
const tag = { 'codice-fiscale': 'ABC123' };
tag['codice-fiscale']; // OK
// tag.codice-fiscale; // syntax error
// 2) the key is computed (variable/expression)
const campo = 'eta';
utente[campo]; // 28Свойство отсутствует возвращает undefined без ошибок:
utente.telefono; // undefinedДобавление, изменение, удаление
const u = { nome: 'Anna' };
u.eta = 28; // adds
u.nome = 'Anna B.'; // modifies
delete u.eta; // removes the propertydelete — ключевое слово. Это окажется редкий случай использования: большая часть
когда вам понадобится создать новый объект без этого ключа (мы увидим это
с разбросом).
Сокращение: ключи названы как переменная.
Если имя ключа совпадает с именем переменной, дублирование можно опустить:
const nome = 'Anna';
const eta = 28;
const u1 = { nome: nome, eta: eta }; // explicit form
const u2 = { nome, eta }; // shorthand, equivalentПроверка наличия недвижимости
Три варианта в порядке предпочтения:
'nome' in utente; // true ← in operator
utente.nome !== undefined; // true ← works almost always
Object.hasOwn(utente, 'nome'); // true ← modern, safeПопробуйте это
Создайте объект user = { name: 'Sara', age: 22 }, затем добавьте свойство active со значением true и верните объект в качестве последнего выражения.
Показать подсказку
Вы можете добавлять свойства постфактум с помощью точечной записи.
Решение доступно после 3 попыток
Обзор упражнения
Учитывая `product = { code: 'A1', цена: 9,9 }` и строку `key = 'price'`, верните цену, используя скобочную запись (последнее выражение должно иметь значение 9,9).
Показать подсказку
С помощью скобок вы можете передать переменную в качестве ключа.
Решение доступно после 3 попыток