Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
object [2023/07/29 16:09] tro |
object [2023/12/12 18:35] (текущий) tro [this - Обращение к контексту обекта] |
||
|---|---|---|---|
| Строка 9: | Строка 9: | ||
| [[https:// | [[https:// | ||
| ====== Добавление значения в обьекте====== | ====== Добавление значения в обьекте====== | ||
| + | Присваивание значения новому свойству | ||
| + | < | ||
| myObject.svoistvo1 = ' | myObject.svoistvo1 = ' | ||
| + | </ | ||
| + | Назначение значения свойствам из переменних | ||
| + | < | ||
| + | const name = ' | ||
| + | const postq = 40 | ||
| + | |||
| + | const userProfile ={ | ||
| + | name, | ||
| + | postq, | ||
| + | myNewParam: true | ||
| + | } | ||
| + | </ | ||
| ====== Удаление значения в обьекте====== | ====== Удаление значения в обьекте====== | ||
| + | **delete** | ||
| < | < | ||
| delete myObject.svoistvo1 - Удаление в обїекте peremenna свойтва svoistvo1 | delete myObject.svoistvo1 - Удаление в обїекте peremenna свойтва svoistvo1 | ||
| </ | </ | ||
| ====== Копирование обьекта ====== | ====== Копирование обьекта ====== | ||
| - | - const person2 = Object.assign({}, | + | - const person2 = Object.**assign**({}, person) - но если внутри били тоже обекти - то ссилки сохраняться |
| - const person2 = {...person1} - но если внутр біли тоже обекті - то ссілки сохраняться | - const person2 = {...person1} - но если внутр біли тоже обекті - то ссілки сохраняться | ||
| - | - const myCity2 = JSON.parse(JSON.stringify(myCity1)) - полностью создает копию | + | - const myCity2 = **JSON.parse**(**JSON.stringify**(myCity1)) - полностью создает копию |
| ====== Разделение обекта на составние свойства ====== | ====== Разделение обекта на составние свойства ====== | ||
| + | **...** | ||
| < | < | ||
| - | ... - перед имнем обьекта разделяет обьект на его войства | + | const userProfile ={ |
| - | let a = ...myObject | + | name, |
| + | postq, | ||
| + | myNewParam: true | ||
| + | } | ||
| + | |||
| + | const param2 = {...userProfile} | ||
| + | </ | ||
| + | ====== this - Обращение к контексту | ||
| + | **this** | ||
| + | Звжди повертає контекст ТІЛЬКИ | ||
| + | < | ||
| + | const person2 | ||
| + | name: " | ||
| + | greeting: function () { | ||
| + | alert(" | ||
| + | }, | ||
| </ | </ | ||
| + | **Крок 1** | ||
| + | |||
| + | Це стрілочна функція? | ||
| + | |||
| + | Якщо відповідь Так, значення this те саме, що у this у зовнішній області видимості (батьківский обїект) | ||
| + | Якщо відповідь Ні, переходь на Крок 2 | ||
| + | |||
| + | |||
| + | **Крок 2** | ||
| + | |||
| + | Чи використовуються методи call, apply або bind? | ||
| + | |||
| + | Якщо відповідь Так, значення this — це той самий об’єкт, | ||
| + | Якщо відповідь Ні, переходь на Крок 3 | ||
| + | |||
| + | |||
| + | **Крок 3** | ||
| + | |||
| + | Функція викликається як метод об’єкта object.method? | ||
| + | |||
| + | Якщо відповідь Так, значення this — це об’єкт ліворуч від крапки | ||
| + | Якщо відповідь Ні, переходь на Крок 4 | ||
| + | |||
| + | |||
| + | **Крок 4** | ||
| + | |||
| + | * якщо у строгому режимі - значення this повертає " | ||
| + | * якщо не у строгому - значення this повертає | ||
| + | |||
| + | ====== Перелік усіх властивостей обїекту ====== | ||
| + | Повертає як масив | ||
| + | < | ||
| + | let Mymas = Object.keys(myObject) | ||
| + | </ | ||
| + | ====== Перелік усіх значень обїекту ====== | ||
| + | Повертає як масив | ||
| + | < | ||
| + | let Mymas = Object.values(myObject) | ||
| + | </ | ||