JavaScript
  • 🧑‍💻Full-Stack Web Developer
  • 📚Теорія
    • 1️⃣Змінні і типи
      • Знайомство з JavaScript
      • Інструменти розробника
      • Підключення скрипту
      • Основи синтаксису
      • Змінні і типи
      • Взаємодія з користувачем
      • Основні оператори
      • Числа
      • Рядки
      • Логічні операції
    • 2️⃣Розгалудження і цикли
      • Розгалуження
      • Тернарний оператор
      • Інструкція switch
      • Область видимості
      • Цикли
    • 3️⃣Масиви
      • Масиви
      • Ітерація по масиву
      • Присвоєння за посиланням і значенням
      • Методи масиву
    • 4️⃣Функції
      • Функції
      • Стек викликів
    • 5️⃣Обʼєкти
      • Обʼєкти
      • Перебирання обʼєкта
      • Масив обʼєктів
      • Операції spread і rest
      • Деструктуризація обʼєктів
      • Деструктуризація масивів
      • Паттерн "обʼєкт параметрів"
    • 6️⃣Колбек-функції, стрілкові функції, перебір масиву
      • Колбек-функції
      • Метод forEach
      • Стрілкові функції
      • Підходи до написання коду
      • Чисті функції
    • 7️⃣Перебираючі методи масивів
      • Перебираючі методи масиву
      • Метод map()
      • Метод flatMap()
      • Метод filter()
      • Метод find()
      • Метод findIndex()
      • Методи every() і some()
      • Метод reduce()
      • Метод sort()
      • Ланцюжки методів
    • 8️⃣Контекст, прототипи та класи
      • Контекст виконання функції
      • Правила визначення this
      • Методи функцій
      • Об'єктно-орієнтоване програмування
      • Прототипне наслідування
    • Класи
  • 👷Практика
    • 👷Практика
    • Page 1
  • Про мене
    • Про мене
Powered by GitBook
On this page
  1. Теорія
  2. Контекст, прототипи та класи

Контекст виконання функції

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

Ключове слово this вказує на поточний об'єкт, з яким пов'язана функція або контекст, у якому вона була викликана. Значення this залежить від того, як саме була викликана функція.

Значення this може варіюватися в залежності від наступних сценаріїв:

  1. Метод об'єкта: Коли функція є методом об'єкта, значення this вказує на сам об'єкт, до якого вона належить.

  2. Глобальний контекст: У глобальному контексті в браузері this вказує на глобальний об'єкт window, а в середовищі Node.js - на об'єкт global.

Розглянемо приклад виклику методу, який звертається до даних самого методу:

const user = {
  name: "Alex",

  showName() {
    console.log("User name: ", user.name);
  },
};

user.showName(); // User name: Alex

Наведений приклад працює, але він синтаксично неправильний. Всередині об'єктів у методах при зверненні до даних самого обʼєкту використовують слово this, де JavaScript замість слова this ставить імʼя самого обʼєкта.

const user = {
  name: "Alex",

  showName() {
    console.log("User name: ", this.name);
  },
};

user.showName(); // User name: Alex

Слово this - зарезервоване і на його місце підставляється посилання на сам обʼєкт.

Розширимо обʼєкт описавши метод додавання прізвища і його виведення, із використанням ключового слова this.

const user = {
  name: "Alex",

  showName() {
    console.log("User name: ", this.name);
  },

  addSurname(surname) {
    this.surname = surname;
  },

  showSurname() {
    if (!this.surname) {
      console.log("There is no surname!");
    } else {
      console.log("User surname: ", this.surname);
    }
  },
};

user.showSurname(); // There is no surname!
user.addSurname("Khomiak");
user.showSurname(); // User surname: Khomiak

PreviousКонтекст, прототипи та класиNextПравила визначення this

Last updated 1 year ago

📚
8️⃣