Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
destrukturizacija [2023/12/16 19:38] tro |
destrukturizacija [2024/01/11 18:27] (текущий) tro |
||
|---|---|---|---|
| Строка 86: | Строка 86: | ||
| console.log(bookCoverImage); | console.log(bookCoverImage); | ||
| </ | </ | ||
| - | + | ===== Часткова дестриктуризація | |
| - | ====== Деструктурізація | + | |
| < | < | ||
| - | const fruts = [' | + | const user = { |
| + | name: " | ||
| + | age: 32, | ||
| + | email: " | ||
| + | isOnline: true | ||
| + | }; | ||
| - | const [fruts1, fruts2] | + | const { name, isOnline, ...otherProps } = user; |
| + | |||
| + | console.log(name); | ||
| + | console.log(isOnline); | ||
| + | console.log(otherProps); | ||
| </ | </ | ||
| - | ====== Деструктурізація при передачі у функцію ====== | + | |
| + | ===== Деструктуризація параметрів ===== | ||
| < | < | ||
| - | const userProfile = { | + | function doStuffWithBook(book) |
| - | name: ' | + | const { title, pages, downloads, rating, isPublic } = book; |
| - | commq: 23, | + | console.log(title); |
| - | hass: false | + | |
| } | } | ||
| - | + | </ | |
| - | const userInfo = ({name, commq})=>{ | + | < |
| - | | + | function doStuffWithBook({ title, pages, downloads, rating, isPublic |
| - | console.log('more that 22') | + | |
| - | } | + | console.log(pages); |
| } | } | ||
| - | |||
| - | userInfo(userProfile) | ||
| </ | </ | ||
| - | ====== Деструктуризація параметрів ====== | ||
| < | < | ||
| function printUserInfo({ name, age, hobby }) { | function printUserInfo({ name, age, hobby }) { | ||
| Строка 121: | Строка 127: | ||
| }); // Name: Alice, Age: 25, Hobby: dancing | }); // Name: Alice, Age: 25, Hobby: dancing | ||
| </ | </ | ||
| + | ===== Глибока деструктуризація ===== | ||
| + | < | ||
| + | const user = { | ||
| + | name: " | ||
| + | tag: " | ||
| + | stats: { | ||
| + | followers: 5603, | ||
| + | views: 4827, | ||
| + | likes: 1308, | ||
| + | }, | ||
| + | }; | ||
| + | const { | ||
| + | name, | ||
| + | tag, | ||
| + | stats: { followers, views, likes }, | ||
| + | } = user; | ||
| + | |||
| + | console.log(name); | ||
| + | console.log(tag); | ||
| + | console.log(followers); | ||
| + | console.log(views); | ||
| + | console.log(likes); | ||
| + | </ | ||
| + | ====== Деструктурізація масива ====== | ||
| + | < | ||
| + | const fruts = [' | ||
| + | |||
| + | const [fruts1, fruts2] = fruts | ||
| + | </ | ||
| + | ===== Значення за замовчанням для масива ===== | ||
| + | Якщо змінних оголошено більше, | ||
| + | < | ||
| + | const color = [200, 100, 255]; | ||
| + | const [ red, green, blue, alfa = 0.3 ] = color; | ||
| + | |||
| + | console.log(rgba(${red}, | ||
| + | </ | ||
| + | serProfile) | ||
| + | </ | ||
| + | ===== Часткова деструктуризація масива ===== | ||
| + | Деструктуризуючи масив, можна розпакувати перші необхідні елементи і присвоїти іншу частину елементів масиву змінній, | ||
| + | < | ||
| + | const color = [200, 255, 100]; | ||
| + | |||
| + | const [ red, ...otherColors ] = color; | ||
| + | |||
| + | console.log(red); | ||
| + | console.log(otherColors); | ||
| + | </ | ||
| + | ===== Пропуск значень при дестриктуризації масива ===== | ||
| + | < | ||
| + | const rgb = [200, 100, 255]; | ||
| + | |||
| + | const [, , blue] = rgb; | ||
| + | |||
| + | console.log(`Blue: | ||
| + | </ | ||
| + | ===== Обмін місцями значень у змінних ===== | ||
| + | [x,y]=[y,x] | ||