/* * Объект. * 1) Добавление * 2) Клонирование * 3) Удаление свойств * 4) Деструктуризация */ const car = { color: 'red', brand: 'mazda', cost: 1200000 }; // 1) Добавление car.height = 2300; car.weight = 3500; /* * 2) Клонирование * Object.assign({}, car); - Просто скопировать один объект в другой * Ниже пример, мы копируем и добавляем новые свойства в новый объект */ let newCar = Object.assign({}, car, { brand: 'BMW', sale: 15, wheels: 22, rudder: 'left', person: { person1: 'human', person2: 'dog' } }); // 3) Удаление свойств delete car.color; /* * 4) Деструктуризация * rudder:rule - Записываем значение в новую переменную (объявлять выше ее не нужно) * test = 'test' - Значение по умолчанию, если в объекте такое свойство не найдено * person: {person1,person2} - Если нужно разобрать объект в объекте * ...newObject - Часть свойств записываем в переменные а оставшиеся в новый объект (пишем всегда в конце) */ let { brand, rudder:rule, test = 'test', person: {person1,person2}, ...newObject } = newCar; console.log('↓Объект car↓\n',car); console.log('↓Объект newCar↓\n',newCar); console.log('↓Объект newObject↓\n',newObject); console.log('↓Деструктуризация - новая переменная↓\n\n',rule); console.log('↓Деструктуризация - переменная объекта в объекте↓\n\n',person1); /* * Функции в объекте */ const job = { person: { name: 'Роман', position: 'Weber' }, salary: 60000, nds(percent){ let nds = (this.salary / 100 * percent) + this.salary; return nds; } }; let res = job.nds(50); console.log(res);