В JavaScript ключевое слово this
относится к объекту, который в данный момент выполняет функцию или метод. Это позволяет вам получить доступ к свойствам и методам объекта в пределах области действия функции. Вот некоторые распространенные случаи использования и методы, включающие ключевое слово this
:
- Вызов метода: когда функция вызывается как метод объекта,
this
ссылается на сам объект. Например:
const obj = {
name: 'John',
sayHello: function() {
console.log('Hello, ' + this.name);
}
};
obj.sayHello(); // Output: Hello, John
- Функции конструктора: при использовании функций конструктора для создания объектов
this
относится к вновь созданному объекту. Например:
function Person(name) {
this.name = name;
}
const person = new Person('Alice');
console.log(person.name); // Output: Alice
- Методы вызова и применения. Методы
call
иapply
позволяют явно установить значениеthis
внутри функции. Например:
function greet() {
console.log('Hello, ' + this.name);
}
const obj = { name: 'John' };
greet.call(obj); // Output: Hello, John
- Функции со стрелками. Функции со стрелками не привязывают собственное значение
this
, а наследуют его из окружающего контекста. Это называется «лексической областью видимости». Например:
const obj = {
name: 'Alice',
sayHello: () => {
console.log('Hello, ' + this.name);
}
};
obj.sayHello(); // Output: Hello, undefined