Встречается на собеседованиях • сегодня
Как запретить изменять контекст
В JavaScript можно запретить изменение контекста (this) с помощью стрелочных функций или жесткого связывания через bind().
Стрелочные функции не имеют своего this и всегда используют контекст родительской области:
javascript
const obj = {
name: 'Test',
method: () => console.log(this.name) // this не привязан к obj
};Жесткое связывание через bind():
javascript
const obj = {
name: 'Test'
};
function logName() {
console.log(this.name);
}
const boundFunc = logName.bind(obj);
boundFunc(); // Всегда будет 'Test', даже при call/applyТакже можно использовать Object.freeze() для защиты объекта от изменений:
javascript
const obj = Object.freeze({name: 'Immutable'});
obj.name = 'Changed'; // Не сработает в strict mode
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы