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