Изменение и добавление свойств
Значения в объекте могут меняться. Новое значение свойству присваивают так же, как переменной, через =:
const pet = { name: "Белла", species: "кошка", age: 2 };
pet.age = 3;
console.log(pet);{ name: "Белла", species: "кошка", age: 3 }Новое значение можно вычислить и из старого, как с переменными: pet.age = pet.age + 1;, короче — pet.age += 1; или pet.age++;.
Обратите внимание на разницу: внутри фигурных скобок, когда вы создаёте объект, свойство записывается через двоеточие (age: 2). Когда вы меняете его позже, используют точку и = (pet.age = 3;).
Если присвоить значение свойству, которого в объекте ещё нет, JavaScript добавит его в конец:
const pet = { name: "Белла", species: "кошка", age: 2 };
pet.owner = "Ева";
console.log(pet);{ name: "Белла", species: "кошка", age: 2, owner: "Ева" }Это удобно, но значит и то, что об опечатке здесь тоже ничто не предупредит. pet.Age = 3; не меняет age: оно добавляет новое свойство Age, а Белле по-прежнему 2 года.
Вы заметили, что pet — константа, а изменилась? С массивами то же самое. const означает, что в константе всегда лежит один и тот же объект: положить в неё другой объект нельзя. А вот свойства этого объекта менять можно:
const pet = { name: "Белла", species: "кошка", age: 2 };
pet.age = 3; // можно
pet = { name: "Макс" }; // TypeError: Assignment to constant variable.Задание
- 1
У Беллы только что был день рождения. В конце программы увеличьте её
ageна 1 и снова выведитеpet. Вторая строка должна быть такой:{ name: "Белла", species: "кошка", age: 3 }. - 2
Белла нашла новый дом. В конце программы добавьте в объект свойство
ownerсо значением"Ева"и ещё раз выведитеpet.