Где ставится this а где that


This и that – два слова, которые нередко возникают в английском языке и часто вызывают затруднение у изучающих его. Они являются местоимениями-указателями и употребляются для указания на предметы, события, идеи и абстрактные понятия. Но существует определенное правило, определяющее, когда следует использовать this, а когда – that.

Во-первых, this используется, чтобы указать на предмет или событие, которое ближе по времени или пространству к говорящему. Например, если мы находимся рядом с каким-то объектом или говорим о нем в настоящий момент, мы используем this. Например: «Look at this beautiful flower!» (Посмотри на этот красивый цветок!).

Во-вторых, that используется для указания на предмет или событие, которое находится дальше в пространстве или произошло в прошлом. Например, когда мы хотим показать на что-то дальнее или обсуждать что-то, что уже произошло, мы используем that. Например: «Look at that big building over there!» (Посмотри на то большое здание там!).

Где применять this, а где that:

Ключевое слово this в JavaScript используется для ссылки на текущий объект, в контексте которого выполняется код. Данное слово позволяет обращаться к свойствам и методам этого объекта, а также передавать его в качестве аргумента в функции.

Ключевое слово that используется в тех случаях, когда требуется ссылка на объект, отличный от текущего. Это может быть полезно, например, при работе с замыканиями или вложенными функциями, где контекст может быть изменен.

Важно помнить, что правила использования this и that зависят от контекста и специфики задачи, поэтому следует внимательно анализировать код и выбирать подходящий вариант. Неразумное использование данных ключевых слов может привести к ошибкам и непредсказуемому поведению программы.

Примеры использования this:

1. В методах объекта:


const obj = {
prop: 'Hello',
method() {
console.log(this.prop);
}
};

2. В конструкторах объектов:


function Person(name) {
this.name = name;
}
Person.prototype.sayHello = function() {
console.log('Привет, ' + this.name + '!');
};
const person = new Person('Александр');

Примеры использования that:

1. Работа с замыканиями:


function outer() {
const that = this;
function inner() {
console.log(that);
}
inner();
}

2. Вложенные функции:


function outer() {
const that = this;
function inner() {
console.log(that);
}
return inner;
}
const innerFunc = outer.call({ name: 'Alex' });

В заключении, понимание различия между this и that в JavaScript является важным навыком для разработчика. Правильное использование этих ключевых слов помогает создавать более структурированный и читаемый код.

Правила использования и примеры

1. this используется в контексте объекта или класса и указывает на текущий экземпляр или контекст, в котором происходит вызов функции или метода.

Пример:

class Person {
constructor(name) {
this.name = name;
}
sayHello() {
console.log("Привет, меня зовут " + this.name);
}
}
const person1 = new Person("Алексей");
const person2 = new Person("Елена");

2. that используется для сохранения ссылки на текущий контекст this, когда контекст меняется внутри вложенной функции или метода.

Пример:

function Car(model) {
const that = this;
this.model = model;
this.greeting = "Моя машина - " + this.model;
this.startEngine = function() {
setTimeout(function() {
console.log(that.greeting);
}, 1000);
}
}
const car = new Car("Mercedes");

3. На практике this часто используется в методах объектов или классов для доступа к свойствам и методам текущего экземпляра.

Пример:

const calculator = {
number: 0,
add(value) {
this.number += value;
},
multiply(value) {
this.number *= value;
},
printResult() {
console.log("Результат: " + this.number);
}
};
calculator.add(5);
calculator.multiply(2);

Добавить комментарий

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