|
| 1 | +// Задание 1: |
| 2 | +// Дан объект movie. |
| 3 | +// Твоя задача — используя деструктуризацию, создать три переменные: |
| 4 | +// 1. title (с названием фильма) |
| 5 | +// 2. year (с годом выпуска) |
| 6 | +// 3. movieDirector (с именем режиссёра, обрати внимание на переименование) |
| 7 | +// Напиши одну строку кода, которая решает эту задачу. |
| 8 | + |
| 9 | +const movie = { |
| 10 | + title: 'Inception', |
| 11 | + director: 'Christopher Nolan', |
| 12 | + year: 2010, |
| 13 | + rating: 8.8, |
| 14 | +}; |
| 15 | + |
| 16 | +const { title, year, director: movieDirector } = movie; |
| 17 | +console.log(`Фильм "${title}", ${year}. ${movieDirector}`); // "Фильм "Inception", 2010. Christopher Nolan" |
| 18 | + |
| 19 | +// Задание 2: |
| 20 | +// У нас есть два объекта. Один содержит базовую информацию о пользователе, а второй — обновления для него. |
| 21 | +// Твоя задача — создать новый объект finalUser, который будет содержать все свойства из baseUser, но с применёнными изменениями из объекта updates. Используй ...spread оператор. |
| 22 | + |
| 23 | +const baseUser = { |
| 24 | + id: 123, |
| 25 | + name: 'Alex', |
| 26 | + role: 'editor', |
| 27 | +}; |
| 28 | + |
| 29 | +const updates = { |
| 30 | + name: 'Alexander', // Обрати внимание, имя должно обновиться |
| 31 | + status: 'active', // А это свойство должно добавиться |
| 32 | +}; |
| 33 | + |
| 34 | +const finalUser = { |
| 35 | + ...baseUser, |
| 36 | + ...updates, |
| 37 | +}; |
| 38 | + |
| 39 | +console.log(finalUser); // { id: 123, name: 'Alexander', role: 'editor', status: 'active' } |
| 40 | + |
| 41 | +// Задание 3: |
| 42 | +// У нас есть объект с полной информацией о пользователе. |
| 43 | +// Твоя задача — извлечь id и username в отдельные переменные, а все остальные свойства собрать в новый объект под названием userData. Используй деструктуризацию вместе с ...rest. |
| 44 | + |
| 45 | +const userProfile = { |
| 46 | + id: 'a1b2-c3d4', |
| 47 | + username: 'webdev_pro', |
| 48 | + |
| 49 | + firstName: 'Maria', |
| 50 | + lastName: 'Ivanova', |
| 51 | +}; |
| 52 | + |
| 53 | +const { id, username, ...userData } = userProfile; |
| 54 | + |
| 55 | +console.log(`id: ${id}, username: ${username}`); // "id: a1b2-c3d4, username: webdev_pro" |
| 56 | +console.log(userData); // { email: 'dev@example.com', firstName: 'Maria', lastName: 'Ivanova' } |
0 commit comments