Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
destrukturizacija [2023/12/16 19:42] 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] = fruts | + | const { name, isOnline, ...otherProps |
| - | </ | + | |
| - | ====== Деструктурізація при передачі у функцію ====== | + | |
| - | < | + | |
| - | const userProfile = { | + | |
| - | | + | |
| - | commq: 23, | + | |
| - | hass: false | + | |
| - | } | + | |
| - | const userInfo = ({name, commq})=>{ | + | console.log(name); // " |
| - | | + | console.log(isOnline); // true |
| - | console.log('more that 22') | + | console.log(otherProps); // {age: 32, email: " |
| - | | + | </ |
| - | } | + | |
| - | userInfo(userProfile) | + | ===== Деструктуризація параметрів ===== |
| - | </ | + | |
| - | ====== Деструктуризація параметрів | + | |
| < | < | ||
| function doStuffWithBook(book) { | function doStuffWithBook(book) { | ||
| Строка 134: | Строка 127: | ||
| }); // Name: Alice, Age: 25, Hobby: dancing | }); // Name: Alice, Age: 25, Hobby: dancing | ||
| </ | </ | ||
| - | ====== Глибока деструктуризація | + | ===== Глибока деструктуризація ===== |
| < | < | ||
| const user = { | const user = { | ||
| Строка 158: | Строка 151: | ||
| console.log(likes); | 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] | ||