Урок 2.2Урок 8 з 24
Об'єкти та this
Given a business requirement, apply fundamentals of object implementation to solve the business requirement.
Головне
- 1this визначається викликом: obj.method() дає obj, а відокремлений метод отримує undefined у строгому коді, а в нестрогому — глобальний об'єкт.
- 2call і apply викликають функцію одразу з вибраним this (apply приймає масив аргументів); bind повертає нову функцію.
- 3Spread і Object.assign копіюють лише верхній рівень. Вкладені об'єкти лишаються спільними; Object.assign до того ж змінює свій перший аргумент.
- 4Object.create зв'язує новий об'єкт із прототипом. Пізніші зміни прототипу видно в об'єкті, а Object.keys перелічує лише власні властивості.
- 5seal забороняє додавати й видаляти властивості, freeze забороняє ще й змінювати їх, і обидва діють поверхнево. Прапорці defineProperty за замовчуванням дорівнюють false.
Що перевіряє іспит із цієї теми
Формулювання з програми іспиту (англійською).
- 2.2.K1Object literals, property shorthand, computed keys, getters and setters
- 2.2.K2this binding: method call, call/apply/bind, arrow functions
- 2.2.K3Prototypes, Object.create, Object.assign, spread copies (shallow)
- 2.2.K4Object.keys/values/entries, freeze, seal, defineProperty
- 2.2.S1Choose the object code that meets a requirement
Закріпіть тему
Дайте відповідь на запитання за сценаріями з цієї теми. До кожного варіанта є розбір.
Тренування 2.2 · 12 запитань