Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
|
object [2023/07/29 15:25] tro создано |
object [2023/12/12 18:35] (текущий) tro [this - Обращение к контексту обекта] |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | **object** | + | ====== Обявление обекта====== |
| < | < | ||
| let myObject={ | let myObject={ | ||
| Строка 6: | Строка 6: | ||
| c: ' | c: ' | ||
| } | } | ||
| + | </ | ||
| + | [[https:// | ||
| + | ====== Добавление значения в обьекте====== | ||
| + | Присваивание значения новому свойству | ||
| + | < | ||
| + | myObject.svoistvo1 = ' | ||
| + | </ | ||
| + | Назначение значения свойствам из переменних | ||
| + | < | ||
| + | const name = ' | ||
| + | const postq = 40 | ||
| + | |||
| + | const userProfile ={ | ||
| + | name, | ||
| + | postq, | ||
| + | myNewParam: true | ||
| + | } | ||
| + | </ | ||
| + | ====== Удаление значения в обьекте====== | ||
| + | **delete** | ||
| + | < | ||
| + | delete myObject.svoistvo1 - Удаление в обїекте peremenna свойтва svoistvo1 | ||
| + | </ | ||
| + | ====== Копирование обьекта ====== | ||
| + | - const person2 = Object.**assign**({}, | ||
| + | - const person2 = {...person1} - но если внутр біли тоже обекті - то ссілки сохраняться | ||
| + | - const myCity2 = **JSON.parse**(**JSON.stringify**(myCity1)) - полностью создает копию | ||
| + | ====== Разделение обекта на составние свойства ====== | ||
| + | **...** | ||
| + | < | ||
| + | const userProfile ={ | ||
| + | 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) | ||
| </ | </ | ||