Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Расскажите про this и контекст
this в JavaScript — это ключевое слово, которое ссылается на текущий контекст выполнения. Контекст зависит от того, где и как используется this:
В методе объекта this указывает на этот объект.
В функции this по умолчанию указывает на глобальный объект (в строгом режиме — undefined).
В стрелочных функциях this наследуется из внешнего контекста.
Пример:
const obj = {
name: "Иван",
greet() {
console.log(`Привет, ${this.name}!`);
},
};
obj.greet(); // Привет, Иван!Что такое стрелочные функции и чем они отличаются от обычных функций?
Стрелочные функции — это сокращенная запись функций, которая не имеет своего контекста this. Они чаще всего используются для упрощения синтаксиса и не поддерживают некоторые особенности обычных функций, например, arguments и this. Эти функции удобны для написания короткого кода, но их нельзя использовать в ситуациях, где важен контекст.
Для чего и как работает this в методах объекта?
В методах объекта this указывает на сам объект, к которому принадлежит метод. Это позволяет методам объекта работать с его свойствами и другими методами. Значение this может изменяться в зависимости от того, как вызван метод, поэтому важно понимать контекст вызова.
Есть ли у стрелочной функции методы call, apply и bind?
Стрелочные функции могут использовать методы call, apply и bind, но эти методы не изменяют контекст this внутри стрелочной функции. В отличие от обычных функций, стрелочные функции наследуют значение this из своей внешней области видимости (лексический контекст), и методы call, apply и bind не могут его изменить.
Расскажите про this и контекст?
В JavaScript this — это ссылка на текущий контекст выполнения, который зависит от того, как вызвана функция. В методах объектов this ссылается на сам объект, а в обычных функциях — на глобальный объект или undefined в строгом режиме. Значение this может быть явно изменено с помощью методов call, apply и bind.
Методы call, apply, bind — для чего они нужны?
Особенности стрелочных функций (this, arguments) и как изменить контекст?
Как работает this для прототипов объекта?
Когда используется ключевое слово this?
Почему стрелочные функции не работают с this в некоторых контекстах?
Рейтинг:
4
Сложность:
6
Методы call и apply позволяют вызвать функцию с заданным значением this, но call передаёт аргументы через запятую, а apply — в виде массива. Метод bind возвращает новую функцию с фиксированным значением this, которая может быть вызвана позже. Эти методы полезны для контроля контекста выполнения функции, особенно при работе с методами объектов.
Рейтинг:
4
Сложность:
7
Стрелочные функции не создают собственного контекста this и используют значение this из внешней функции. Они также не имеют объекта arguments, что делает их менее гибкими в некоторых ситуациях. Контекст стрелочной функции изменить нельзя, так как он жёстко привязан к внешней области видимости.
Рейтинг:
4
Сложность:
8
Когда метод вызывается на объекте, который наследует этот метод через прототип, this указывает на объект, на котором был вызван метод, а не на сам прототип. То есть, независимо от того, где определен метод — на объекте или на его прототипе — this всегда ссылается на объект, который инициировал вызов.
Рейтинг:
4
Сложность:
4
Ключевое слово this используется для ссылки на текущий объект. Оно помогает различать локальные переменные и поля, вызывать методы текущего объекта и передавать ссылку на объект другим методам.
Рейтинг:
2
Сложность:
7
Стрелочные функции не имеют своего this — они берут его из внешнего контекста. Поэтому они не подходят для методов объекта или конструкторов.
Рейтинг:
4
Сложность:
6
Рейтинг:
4
Сложность:
4
Рейтинг:
4
Сложность:
6
Рейтинг:
3
Сложность:
5
Рейтинг:
4
Сложность:
7