JavaScript·100 питань

Як працює this?

Відповідь

Ключове слово this в JavaScript визначає контекст, у якому виконується поточний код. Його значення динамічно обчислюється в момент виклику самої функції, а не в момент її оголошення. Поведінка this залежить від кількох чітких правил, що визначають спосіб виклику функції.

Якщо функція викликається як метод об'єкта, то this вказує на сам цей об'єкт. Це дозволяє методам звертатися до властивостей свого власника. У звичайній функції, викликаній без будь-якого контексту, this посилається на глобальний об'єкт window у браузері або на undefined у строгому режимі, що часто стає джерелом помилок у розробників-початківців.

Стрілочні функції поводяться зовсім інакше. Вони не мають власного this, і вони успадковують його значення із зовнішнього лексичного контексту на момент свого створення. Це робить їх ідеальними для використання всередині методів об'єктів або колбэков, де потрібно надійно зберегти контекст зовнішньої функції.

Під час створення об'єкта за допомогою оператора new через функцію-конструктор або клас, this всередині цієї функції посилається на новостворений об'єкт. Нарешті, спеціальні методи дозволяють керувати контекстом вручну. Аналізуючи місце виклику функції, можна легко визначити, на що саме вказує this у кожному конкретному випадку.

Чи корисна ця відповідь?

Інші питання цієї теми

Пов’язані питання з інших тем