CCA Prep

Урок 2.2Урок 8 з 24

Об'єкти та this

Given a business requirement, apply fundamentals of object implementation to solve the business requirement.

Об'єкти та thisПодивіться на місце викликущо стоїть перед крапкою?Стрілкова функція?береться зовнішній thisbind, call чи apply?береться переданий об'єктobj.method()this — це objЗвичайний виклик f()undefined у строгому режимі

Головне

  1. 1this визначається викликом: obj.method() дає obj, а відокремлений метод отримує undefined у строгому коді, а в нестрогому — глобальний об'єкт.
  2. 2call і apply викликають функцію одразу з вибраним this (apply приймає масив аргументів); bind повертає нову функцію.
  3. 3Spread і Object.assign копіюють лише верхній рівень. Вкладені об'єкти лишаються спільними; Object.assign до того ж змінює свій перший аргумент.
  4. 4Object.create зв'язує новий об'єкт із прототипом. Пізніші зміни прототипу видно в об'єкті, а Object.keys перелічує лише власні властивості.
  5. 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 запитань