Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
objavlenie_obekta [2023/11/11 18:17] tro |
objavlenie_obekta [2023/12/14 20:17] (текущий) tro |
||
|---|---|---|---|
| Строка 2: | Строка 2: | ||
| ===== Обявление объекта ===== | ===== Обявление объекта ===== | ||
| ==== Обявление объекта рекомендация (но можно и через LET) ==== | ==== Обявление объекта рекомендация (но можно и через LET) ==== | ||
| - | |||
| < | < | ||
| const sd={ | const sd={ | ||
| Строка 36: | Строка 35: | ||
| myCity.cityGreeting(' | myCity.cityGreeting(' | ||
| </ | </ | ||
| + | |||
| + | |||
| + | < | ||
| + | const bookShelf = { | ||
| + | books: ["The Last Kingdom" | ||
| + | getBooks() { | ||
| + | return this.books; | ||
| + | }, | ||
| + | addBook(bookName) { | ||
| + | this.books.push(bookName); | ||
| + | } | ||
| + | }; | ||
| + | </ | ||
| + | ==== Массив обїектов ==== | ||
| + | < | ||
| + | const books = [ | ||
| + | { | ||
| + | title: "The Last Kingdom", | ||
| + | author: " | ||
| + | rating: 8.38, | ||
| + | }, | ||
| + | { | ||
| + | title: " | ||
| + | author: " | ||
| + | rating: 8.51, | ||
| + | }, | ||
| + | { | ||
| + | title: "The Dream of a Ridiculous Man", | ||
| + | author: " | ||
| + | rating: 7.75, | ||
| + | } | ||
| + | ]; | ||
| + | </ | ||
| + | < | ||
| + | const bookShelf = { | ||
| + | books: [ | ||
| + | { title: "The Last Kingdom", | ||
| + | { title: "The Mist", rating: 6 } | ||
| + | ], | ||
| + | getBooks() { | ||
| + | return this.books; | ||
| + | } | ||
| + | }; | ||
| + | </ | ||
| + | |||
| ===== Обращение к єлементам объекта ===== | ===== Обращение к єлементам объекта ===== | ||
| ==== через точку ==== | ==== через точку ==== | ||
| Строка 116: | Строка 160: | ||
| book.pageCount = 836; | book.pageCount = 836; | ||
| </ | </ | ||
| - | ===== Обхід | + | ===== Обхід обїекта ===== |
| ==== через for..in ==== | ==== через for..in ==== | ||
| - | |||
| < | < | ||
| const book = { | const book = { | ||
| Строка 131: | Строка 174: | ||
| console.log(book[keyOfObject]); | console.log(book[keyOfObject]); | ||
| } | } | ||
| + | </ | ||
| + | ==== Через Object.keys() ==== | ||
| + | приймає об' | ||
| + | < | ||
| + | const book = { | ||
| + | title: "The Last Kingdom", | ||
| + | author: " | ||
| + | genres: [" | ||
| + | rating: 8.38, | ||
| + | }; | ||
| + | const keys = Object.keys(book); | ||
| + | console.log(keys); | ||
| + | </ | ||
| + | ==== Через Object.values() ==== | ||
| + | повертає масив значень його властивостей | ||
| + | < | ||
| + | const book = { | ||
| + | title: "The Last Kingdom", | ||
| + | author: " | ||
| + | rating: 8.38, | ||
| + | }; | ||
| + | |||
| + | const values = Object.values(book); | ||
| + | console.log(values); | ||
| + | </ | ||
| + | ==== Через Object.entries() ==== | ||
| + | Повертає масив власних перелічуваних пар властивостей ключ-значення з рядковими ключами. | ||
| + | ==== обход массива обїектов ==== | ||
| + | < | ||
| + | const books = [ | ||
| + | { title: "The Last Kingdom", | ||
| + | { title: " | ||
| + | { title: "The Dream of a Ridiculous Man", author: " | ||
| + | ]; | ||
| + | |||
| + | let totalRating = 0; | ||
| + | |||
| + | for (const book of books) { | ||
| + | totalRating += book.rating; | ||
| + | } | ||
| + | |||
| + | const averageRating = totalRating / books.length; | ||
| + | console.log(averageRating); | ||
| + | </ | ||
| + | ===== Поиск в обїекте ===== | ||
| + | ==== Поиск в масиве обїектов ==== | ||
| + | < | ||
| + | const books = [ | ||
| + | { title: "The Last Kingdom", | ||
| + | { title: " | ||
| + | { title: "The Dream of a Ridiculous Man", author: " | ||
| + | ]; | ||
| + | |||
| + | const authorToSearchFor = " | ||
| + | |||
| + | for (const book of books) { | ||
| + | if(book.author === authorToSearchFor) { | ||
| + | console.log(book); | ||
| + | console.log(book.title) | ||
| + | console.log(book.rating) | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | ===== Модели (обїект данние + методи) ===== | ||
| + | Об' | ||
| + | * Метод — це звичайна функція, | ||
| + | * Для звернення до методу об' | ||
| + | < | ||
| + | const bookShelf = { | ||
| + | books: ["The Last Kingdom", | ||
| + | // Це метод об' | ||
| + | getBooks() { | ||
| + | return " | ||
| + | }, | ||
| + | // Це метод об' | ||
| + | addBook(bookName) { | ||
| + | return `Adding book ${bookName}`; | ||
| + | }, | ||
| + | }; | ||
| + | |||
| + | // Виклики методів | ||
| + | bookShelf.getBooks(); | ||
| + | bookShelf.addBook(" | ||
| + | bookShelf.addBook(" | ||
| + | </ | ||
| + | ==== Доступ до властивостей об' | ||
| + | Для доступу до об' | ||
| + | < | ||
| + | const bookShelf = { | ||
| + | books: ["The Last Kingdom", | ||
| + | getBooks() { | ||
| + | console.log(this); | ||
| + | }, | ||
| + | }; | ||
| + | |||
| + | bookShelf.getBooks(); | ||
| + | </ | ||
| + | |||
| + | ===== Обїединение обїектов ===== | ||
| + | ==== ...spread ==== | ||
| + | (...spread) дозволяє розпилити властивості довільної кількості об' | ||
| + | Порядок розподілу має значення. Імена властивостей об' | ||
| + | < | ||
| + | const first = { propA: 5, propB: 10 }; | ||
| + | const second = { propC: 15 }; | ||
| + | const third = { ...first, ...second }; | ||
| + | console.log(third); | ||
| + | </ | ||
| + | ===== Деструктурізація ===== | ||
| + | < | ||
| + | 'use strict'; | ||
| + | |||
| + | let options = { | ||
| + | title: " | ||
| + | width: 100, | ||
| + | height: 200 | ||
| + | }; | ||
| + | |||
| + | let {title, width, height} = options; | ||
| + | |||
| + | alert(title); | ||
| + | alert(width); | ||
| + | alert(height); | ||
| </ | </ | ||