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

Возможно ли перепривязать контекст два раза в JavaScript

Да, можно перепривязать контекст несколько раз, но каждый вызов bind создает новую функцию, и последующий bind не изменит контекст предыдущих привязок.

javascript
const obj1 = { name: 'Alice' };
const obj2 = { name: 'Bob' };
const obj3 = { name: 'Charlie' };

function greet() {
console.log(Hello, ${this.name}!);
}

const bound1 = greet.bind(obj1);
const bound2 = bound1.bind(obj2); // Контекст останется obj1

bound1(); // "Hello, Alice!"
bound2(); // "Hello, Alice!" (не "Bob")

text

Если нужно изменить контекст, лучше привязывать исходную функцию заново или использовать `call`/`apply`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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