Встречается на собеседованиях • сегодня

Есть ли доступ к контексту объекта у функции внутри него

Да, у функции внутри объекта есть доступ к его контексту через this. Однако поведение this зависит от способа вызова функции.

javascript
const obj = {
  name: 'John',
  greet: function() {
    console.log(`Hello, ${this.name}!`);
  }
};

obj.greet(); // Hello, John!

text

**Важные нюансы:**
1. Если функцию вызвать отдельно от объекта, `this` потеряет контекст:
```javascript
const greetFunc = obj.greet;
greetFunc(); // Hello, undefined! (в strict mode будет ошибка)
  1. Стрелочные функции не имеют своего this - они берут его из внешнего контекста:
javascript
const obj = {
  name: 'John',
  greet: () => console.log(`Hello, ${this.name}!`)
};
obj.greet(); // Hello, undefined!

Для сохранения контекста можно использовать bind, call, apply или сохранить this в переменную (например, const self = this;).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы