Встречается на собеседованиях • сегодня
Как задать контекст для функции
В JavaScript контекст функции (значение this) можно задать несколькими способами:
- Метод объекта - контекстом будет сам объект:
js
const obj = {
name: 'John',
greet() {
console.log(`Hello, ${this.name}`);
}
};
obj.greet(); // Hello, John- Явное указание с помощью
call,applyилиbind:
js
function greet() {
console.log(`Hello, ${this.name}`);
}
const person = {name: 'Alice'};
greet.call(person); // Hello, Alice- Стрелочная функция - наследует контекст из окружающей области:
js
const obj = {
name: 'Bob',
greet: () => {
console.log(`Hello, ${this.name}`); // undefined (контекст window)
}
};- Привязка в конструкторе (для классов):
js
class Person {
constructor(name) {
this.name = name;
this.greet = this.greet.bind(this);
}
greet() {
console.log(`Hello, ${this.name}`);
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы